mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
Compare commits
222 Commits
osc8-hyperlink
...
v3.4.1
| Author | SHA1 | Date | |
|---|---|---|---|
| e04047be68 | |||
| 710247891c | |||
| 2e1d16b7e5 | |||
| 778594d68f | |||
| 37d4d2ac65 | |||
| 2376b6aa5e | |||
| 5a24ffd951 | |||
| a1cc70b752 | |||
| 1cedb78348 | |||
| 0123abb83e | |||
| 463517bd1e | |||
| 46f3bee2ff | |||
| d80b27af64 | |||
| e2d44181d7 | |||
| ba4f762964 | |||
| dad3e6099c | |||
| 5208552a98 | |||
| 07721d3dc1 | |||
| d236171035 | |||
| a4d560e0aa | |||
| 7bf0a5c734 | |||
| 10a8732d41 | |||
| fd017ce474 | |||
| 1c0d8f5fd3 | |||
| 160ffe8e11 | |||
| 4c7b898666 | |||
| 391d0a18a1 | |||
| a5db952842 | |||
| 7cb5147e74 | |||
| a5ffd8b800 | |||
| 66384544b5 | |||
| c88428fb41 | |||
| 71991fcc73 | |||
| b82a9c44fd | |||
| 637c7bb3d4 | |||
| 268cb53238 | |||
| 9e721d0ad5 | |||
| 287d5146b4 | |||
| 1cfb5e5d1e | |||
| 866fef2595 | |||
| 2dabce9ac8 | |||
| f33e9b6737 | |||
| 50cea48b51 | |||
| ae891ab322 | |||
| 0a14441d35 | |||
| f2310dae42 | |||
| 67a364550f | |||
| 64592951b5 | |||
| 3a38879590 | |||
| d447755b1f | |||
| 2564fa2882 | |||
| 928ed152ed | |||
| 7014322b2e | |||
| 9b6606394c | |||
| 198872c027 | |||
| c8776b14f6 | |||
| 35c26fb001 | |||
| eca9c89747 | |||
| aed64f5020 | |||
| 266233636d | |||
| be753046b7 | |||
| 15f5bc7944 | |||
| 27a480c7d7 | |||
| fe9768f484 | |||
| aace0a1a58 | |||
| 792739ee42 | |||
| 8b11fa86cd | |||
| 28d013b704 | |||
| 5fffaf89e4 | |||
| 006964c4dc | |||
| 05d31b476b | |||
| 50edb33f1c | |||
| c82358c17c | |||
| d64050bafb | |||
| 1556e4ac5a | |||
| a3924a27a0 | |||
| cbadaecc4f | |||
| 7cad1230e6 | |||
| 997559e55b | |||
| d98940fecb | |||
| f2ad57ceb9 | |||
| d4650183ba | |||
| a6c40d2190 | |||
| 563a6db02d | |||
| 5ddd72c0e9 | |||
| 80b86ea647 | |||
| bbcdb90fbb | |||
| 253b25db03 | |||
| 4c9e7ed09e | |||
| 12043622e6 | |||
| f4a1baaed3 | |||
| 9303f5abd9 | |||
| 1b8ad40b81 | |||
| 2f177dd188 | |||
| edfc415e9e | |||
| 8bb5e33348 | |||
| b3cf7658f7 | |||
| 2081fa54af | |||
| 2da2172593 | |||
| 018a4bda53 | |||
| 14c6ef3d83 | |||
| 9c5837d143 | |||
| 5e08f9876a | |||
| ee66fc3a85 | |||
| 13472adfff | |||
| 60b374901f | |||
| d8a3a0137c | |||
| f66e55564e | |||
| 6e83225e6f | |||
| f03622d141 | |||
| 4f20417cb2 | |||
| f15337ea9a | |||
| 49221b56b9 | |||
| 75f71cd311 | |||
| 505a9f937a | |||
| 08d3e3b2b7 | |||
| fb4d947a8c | |||
| 2ca6420e17 | |||
| cde0d5f7a5 | |||
| ba5b744397 | |||
| 1447c7ad83 | |||
| b57d19c893 | |||
| 9063546acc | |||
| f1cb767001 | |||
| 634eac455d | |||
| 2f90fc0299 | |||
| d2bd952210 | |||
| 9fbe18eb27 | |||
| 2ca37a9128 | |||
| a73e9eb8ca | |||
| a3ddeba9f9 | |||
| baa91a45a8 | |||
| 6124bf3c92 | |||
| 6a8ec55118 | |||
| 4b6038975c | |||
| 5e63161b5b | |||
| 32c99047f4 | |||
| 2ef9509dbe | |||
| c7cb025582 | |||
| 96288d69e2 | |||
| aad86a1955 | |||
| dcbf534d53 | |||
| c8329da6e0 | |||
| 3e1b621f52 | |||
| 56cb9e50af | |||
| 9b17f1fee4 | |||
| cee4bf7e3c | |||
| 027ecc6b0e | |||
| 22ecfda777 | |||
| 2ae974f5c3 | |||
| 99d565f6df | |||
| 5546b0af0e | |||
| 741343e9aa | |||
| 0e9710de81 | |||
| 32ae101096 | |||
| 3a5a2abeea | |||
| de567aa1d3 | |||
| a5e470a16a | |||
| b3ce8b5282 | |||
| 31b15c1423 | |||
| 60c9beab2b | |||
| 10a1c9bda4 | |||
| 6f8f547242 | |||
| 2509486c6a | |||
| df9c32b0c3 | |||
| c577da0375 | |||
| 4e1d40034e | |||
| a1a4f337ff | |||
| e412a34668 | |||
| 3c7d4b0516 | |||
| 572bcc2c59 | |||
| 3360cadd55 | |||
| f51f3dbe29 | |||
| efecdf5d45 | |||
| 76b75ad5cd | |||
| 74ceaa1a68 | |||
| 12a4519448 | |||
| 033fbf63b0 | |||
| 1029780ce2 | |||
| 0ea0b24563 | |||
| ec816b4be5 | |||
| 7c1ea1cb32 | |||
| 27f554659e | |||
| 5389ceb237 | |||
| 03e0122155 | |||
| 8d12187f3d | |||
| bf8c85f422 | |||
| 179822fb91 | |||
| 5e712d7145 | |||
| 8ea41d91c9 | |||
| 7a88e007a5 | |||
| 257fe7362a | |||
| 52cc1165c4 | |||
| 0be96b7c66 | |||
| 9d4119232f | |||
| adcc04cc5a | |||
| e5996f626b | |||
| d8c7cf41b5 | |||
| 5123483c33 | |||
| 33a3c485be | |||
| 7b4d48c46d | |||
| 4ee82d1c70 | |||
| a1a4d627e1 | |||
| 5a5c2cbd1a | |||
| 2bd3681eef | |||
| 604415e19e | |||
| e653ee04d2 | |||
| 3c737ca304 | |||
| 1f83df7a18 | |||
| eda8ad9de5 | |||
| df6f32a7bb | |||
| a2a733fc36 | |||
| 56edeba7fc | |||
| 15392e4a81 | |||
| cb856a7f3a | |||
| 69c457287d | |||
| 5458382bb8 | |||
| 849105ebd6 | |||
| cbc4073815 | |||
| c4b4d80936 | |||
| f0898eae64 | |||
| 9378a7572b |
@@ -15,6 +15,7 @@ jobs:
|
||||
- ubuntu-20.04
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
||||
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
|
||||
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
||||
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
|
||||
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
||||
@@ -33,7 +34,8 @@ jobs:
|
||||
run: |
|
||||
sudo apt-add-repository --yes ppa:ondrej/php
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes --no-install-recommends install devscripts equivs python3-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-0-dev libsodium-dev pylint python3-bandit asciidoctor
|
||||
sudo apt-get --yes purge php8.1-dev
|
||||
sudo apt-get --yes --no-install-recommends install devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-0-dev libsodium-dev pylint python3-bandit asciidoctor
|
||||
sudo -H pip3 install --ignore-installed msgcheck
|
||||
|
||||
- name: Test patches
|
||||
@@ -51,7 +53,7 @@ jobs:
|
||||
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||
|
||||
- name: Check Python stub file
|
||||
run: ./doc/python_stub.py | diff - src/plugins/python/weechat.pyi
|
||||
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
|
||||
|
||||
- name: Build and run tests
|
||||
env:
|
||||
@@ -89,7 +91,8 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos-latest
|
||||
- macos-11
|
||||
- macos-10.15
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
||||
|
||||
+2
-2
@@ -27,8 +27,8 @@ project(weechat C)
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_SKIP_RPATH ON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
|
||||
|
||||
# version
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
|
||||
|
||||
+43
-7
@@ -15,20 +15,56 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
(file _ReleaseNotes.adoc_ in sources).
|
||||
|
||||
|
||||
[[v3.4]]
|
||||
== Version 3.4 (under dev)
|
||||
|
||||
New features::
|
||||
|
||||
* core: add command /toggle
|
||||
* api: add user variables in evaluation of expressions with "define:name,value"
|
||||
[[v3.4.1]]
|
||||
== Version 3.4.1 (2022-03-13)
|
||||
|
||||
Bug fixes::
|
||||
|
||||
* core: set again TLS verification functions after options weechat.network.gnutls_ca_system and weechat.network.gnutls_ca_user are changed (issue #1763)
|
||||
|
||||
[[v3.4]]
|
||||
== Version 3.4 (2021-12-18)
|
||||
|
||||
New features::
|
||||
|
||||
* core: add support of static arrays in hdata
|
||||
* core: add command /toggle
|
||||
* api: add parameters pointers, extra_vars and options in function hdata_search
|
||||
* api: add user variables in evaluation of expressions with "define:name,value"
|
||||
* api: add IRC message parameters "param1" to "paramN" and "num_params" in output of irc_message_parse
|
||||
* irc: allow quotes around IRC message in command /server fakerecv
|
||||
* trigger: hide key and password in command "/msg nickserv setpass nick key password"
|
||||
* trigger: add support of option "-server" when hiding passwords in command /msg nickserv register
|
||||
|
||||
Bug fixes::
|
||||
|
||||
* core: fix memory leak in evaluated expression "split:number,seps,flags,xxx" when multiple "strip_items" are given
|
||||
* core: fix random integer number with large range in evaluation of expressions on GNU/Hurd
|
||||
* core: fix access to integer/long/time arrays in hdata
|
||||
* api: fix search of option when the section is not given in functions config_search_option and config_search_section_option
|
||||
* irc: fix join of channels with long name (issue #1717)
|
||||
* irc: fix parsing of parameters in all IRC messages (issue #1666)
|
||||
* irc: fix parsing of CAP message when there is no prefix (issue #1707)
|
||||
* irc: fix parsing of TAGMSG message when there is a colon before the channel
|
||||
|
||||
Documentation::
|
||||
|
||||
* doc: remove tester's guide
|
||||
* doc: add dark theme (automatic, following browser/desktop settings)
|
||||
* doc: make build reproducible
|
||||
* doc: disable web fonts
|
||||
* doc: switch from prettify to pygments for syntax highlighting
|
||||
|
||||
Tests::
|
||||
|
||||
* core: add build with CMake and Ninja in CI
|
||||
* core: add build on macOS 11 in CI
|
||||
|
||||
Build::
|
||||
|
||||
* ruby: add detection of Ruby 3.0 (issue #1721, issue #1605)
|
||||
* core: add targets "changelog" and "rn" to build HTML version of ChangeLog and release notes (CMake build only)
|
||||
|
||||
[[v3.3]]
|
||||
== Version 3.3 (2021-09-19)
|
||||
|
||||
|
||||
+8
-75
@@ -26,9 +26,9 @@ Homepage: https://weechat.org/
|
||||
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
|
||||
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
|
||||
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
|
||||
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] and https://tools.ietf.org/html/rfc2813[2813].
|
||||
* *Small, fast and very light*: the core is and should stay as light and fast as possible.
|
||||
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/stable/language/perl/[Perl], https://weechat.org/scripts/stable/language/python/[Python], https://weechat.org/scripts/stable/language/ruby[Ruby], https://weechat.org/scripts/stable/language/lua/[Lua], https://weechat.org/scripts/stable/language/tcl/[Tcl], https://weechat.org/scripts/stable/language/guile/[Scheme], https://weechat.org/scripts/stable/language/javascript/[JavaScript] and https://weechat.org/scripts/stable/language/php/[PHP]).
|
||||
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
|
||||
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
|
||||
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
|
||||
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
|
||||
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
|
||||
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
||||
@@ -37,80 +37,13 @@ pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/wee
|
||||
|
||||
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
||||
|
||||
== Install
|
||||
== Installation
|
||||
|
||||
=== Dependencies
|
||||
WeeChat can be installed using your favorite package manager (recommended)
|
||||
or by compiling it yourself.
|
||||
|
||||
Following packages are *required*:
|
||||
|
||||
* CMake
|
||||
* libncurses
|
||||
* libcurl
|
||||
* zlib
|
||||
* libgcrypt
|
||||
|
||||
Following packages are optional:
|
||||
|
||||
* for i18n: gettext
|
||||
* for SSL: gnutls, ca-certificates
|
||||
* for spell checking: aspell or enchant
|
||||
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
|
||||
* for building doc and man page: asciidoctor
|
||||
* for building tests: C++ compiler, CppUTest
|
||||
|
||||
For a complete list of dependencies and versions recommended, please look at
|
||||
https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's guide].
|
||||
|
||||
=== Compile
|
||||
|
||||
WeeChat can be built with https://cmake.org/[CMake] (recommended) or autotools.
|
||||
|
||||
[NOTE]
|
||||
Only CMake is officially supported to build WeeChat. You should only use
|
||||
autotools if you are not able to use CMake. +
|
||||
Building with autotools requires more dependencies and is slower than with CMake.
|
||||
|
||||
* Installation in system directories (requires _root_ privileges):
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake ..
|
||||
$ make
|
||||
$ sudo make install
|
||||
----
|
||||
|
||||
* Installation in custom directory (for example your home):
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
For more information or installation with autotools, please look at
|
||||
https://weechat.org/files/doc/devel/weechat_user.en.html#compile_with_autotools[user's guide].
|
||||
|
||||
=== Run tests
|
||||
|
||||
Following packages are *required* to compile tests:
|
||||
|
||||
* libcpputest-dev
|
||||
* C++ compiler
|
||||
|
||||
Tests must be enabled when compiling WeeChat:
|
||||
|
||||
----
|
||||
$ cmake .. -DENABLE_TESTS=ON
|
||||
----
|
||||
|
||||
They can be launched after compilation from the build directory:
|
||||
|
||||
----
|
||||
$ ctest -V
|
||||
----
|
||||
For detailed instructions, please check the
|
||||
https://weechat.org/files/doc/stable/weechat_user.en.html#install[WeeChat user's guide].
|
||||
|
||||
== Copyright
|
||||
|
||||
|
||||
+58
-5
@@ -17,6 +17,59 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
|
||||
(file _ChangeLog.adoc_ in sources).
|
||||
|
||||
|
||||
[[v3.4.1]]
|
||||
== Version 3.4.1 (2022-03-13)
|
||||
|
||||
Bug fix and maintenance release.
|
||||
|
||||
[[v3.4]]
|
||||
== Version 3.4 (2021-12-18)
|
||||
|
||||
[[v3.4_default_triggers]]
|
||||
=== Default triggers
|
||||
|
||||
The existing triggers "cmd_pass" and "cmd_pass_register" have been updated to
|
||||
hide key and password in command `/msg nickserv setpass <nick> <key> <password>`
|
||||
and support the option `-server <name>`.
|
||||
|
||||
You can restore the default triggers with the following command:
|
||||
|
||||
----
|
||||
/trigger restore cmd_pass cmd_pass_register
|
||||
----
|
||||
|
||||
[[v3.4_hdata_search]]
|
||||
=== New parameters in function hdata_search
|
||||
|
||||
New parameters have been added in function
|
||||
link:https://weechat.org/doc/plugin#_hdata_search[hdata_search], used for the
|
||||
evaluation of expression.
|
||||
|
||||
New parameters are the same as function
|
||||
link:https://weechat.org/doc/plugin#_string_eval_expression[string_eval_expression]:
|
||||
|
||||
* pointers: hashtable with pointers (pointers)
|
||||
* extra_vars: hashtable with extra variables (strings)
|
||||
* options: hashtable with options (strings).
|
||||
|
||||
The following scripts are updated consequently to be compatible with all
|
||||
WeeChat versions:
|
||||
|
||||
* https://weechat.org/scripts/source/autoauth.py/[autoauth.py] 1.3
|
||||
* https://weechat.org/scripts/source/buffer_open.py/[buffer_open.py] 0.3
|
||||
* https://weechat.org/scripts/source/collapse_channel.py/[collapse_channel.py] 0.9
|
||||
* https://weechat.org/scripts/source/grep_filter.py/[grep_filter.py] 0.11
|
||||
* https://weechat.org/scripts/source/samechannel.rb/[samechannel.rb] 0.2
|
||||
* https://weechat.org/scripts/source/soju.py/[soju.py] 0.1.4
|
||||
* https://weechat.org/scripts/source/stalker.pl/[stalker.pl] 1.6.3
|
||||
|
||||
[[v3.4_hdata_arrays]]
|
||||
=== Static array support in hdata
|
||||
|
||||
Support of static array in hdata has been added.
|
||||
For pointers to arrays, a prefix `*,` must be added in parameter `array_size`
|
||||
of API function link:https://weechat.org/doc/plugin#_hdata_new_var[hdata_new_var].
|
||||
|
||||
[[v3.3]]
|
||||
== Version 3.3 (2021-09-19)
|
||||
|
||||
@@ -405,12 +458,12 @@ If you want to use a command, you must add explicitly the leading `/`:
|
||||
----
|
||||
|
||||
[[v3.0_trigger_beep]]
|
||||
=== Default "beep" trigger
|
||||
=== Default trigger "beep"
|
||||
|
||||
The command of "beep" trigger is now executed only if the message does NOT
|
||||
contain the tag "notify_none" (in addition to existing conditions).
|
||||
|
||||
You can restore the default "beep" trigger with the following command:
|
||||
You can restore the default trigger "beep" with the following command:
|
||||
|
||||
----
|
||||
/trigger restore beep
|
||||
@@ -604,7 +657,7 @@ A _handshake_ command has been added in weechat relay protocol. +
|
||||
The client should send this command before the _init_ to negotiate the way to
|
||||
authenticate with the relay server.
|
||||
|
||||
See the link:weechat_relay_protocol.en.html#command_handshake[handshake command]
|
||||
See the link:https://weechat.org/doc/relay#command_handshake[handshake command]
|
||||
in Relay protocol doc for more information.
|
||||
|
||||
==== Server "nonce"
|
||||
@@ -622,7 +675,7 @@ So the hash is computed on: (`server nonce` + `client nonce` + `password`).
|
||||
This salt is now mandatory even for algorithms `SHA256` and `SHA512`; this is
|
||||
a breaking change in protocol, needed for security reasons.
|
||||
|
||||
See the link:weechat_relay_protocol.en.html#command_init[init command]
|
||||
See the link:https://weechat.org/doc/relay#command_init[init command]
|
||||
in Relay protocol doc for more information.
|
||||
|
||||
[[v2.8]]
|
||||
@@ -948,7 +1001,7 @@ Or set explicitly the value:
|
||||
|
||||
The existing triggers "cmd_pass" and "msg_auth" have been updated to hide
|
||||
password in command `/msg nickserv set password` and support the option
|
||||
`-server xxx`.
|
||||
`-server <name>`.
|
||||
|
||||
You can restore the default triggers with the following command:
|
||||
|
||||
|
||||
+8
-46
@@ -33,51 +33,13 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(RUBY ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
|
||||
endif()
|
||||
|
||||
if(RUBY_FOUND)
|
||||
set(RUBY_LIB "")
|
||||
mark_as_advanced(RUBY_LIB)
|
||||
else()
|
||||
find_program(RUBY_EXECUTABLE
|
||||
NAMES ruby2.7.0 ruby270 ruby2.7 ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
if(RUBY_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
|
||||
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
|
||||
)
|
||||
execute_process(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
|
||||
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
|
||||
)
|
||||
find_path(RUBY_INCLUDE_DIRS
|
||||
NAMES ruby.h
|
||||
PATHS ${RUBY_ARCH_DIR}
|
||||
)
|
||||
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
|
||||
find_library(RUBY_LIB
|
||||
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
|
||||
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
|
||||
)
|
||||
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
|
||||
set(RUBY_FOUND TRUE)
|
||||
endif()
|
||||
set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH}")
|
||||
mark_as_advanced(
|
||||
RUBY_INCLUDE_DIRS
|
||||
RUBY_LIBRARY_DIRS
|
||||
RUBY_LIB
|
||||
)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# set specific search path for macOS
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
||||
endif()
|
||||
pkg_search_module(RUBY ruby-3.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")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+2
-2
@@ -501,7 +501,7 @@ RUBY_VERSION=
|
||||
if test "x$enable_ruby" = "xyes" ; then
|
||||
RUBY_CFLAGS=""
|
||||
RUBY_LFLAGS=""
|
||||
for v in "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
|
||||
for v in "3.0" "2.7" "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
|
||||
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
|
||||
if test "x$?" = "x0" ; then
|
||||
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
|
||||
@@ -1263,7 +1263,7 @@ if test "x$enable_man" = "xyes" -o "x$enable_doc" = "xyes"; then
|
||||
enable_man="no"
|
||||
enable_doc="no"
|
||||
fi
|
||||
ASCIIDOCTOR_ARGS="-a experimental -a 'prewrap!' -a icons=font -a sectanchors -a source-highlighter=prettify"
|
||||
ASCIIDOCTOR_ARGS="-a experimental -a reproducible -a 'prewrap!' -a 'webfonts!' -a icons=font -a sectanchors -a source-highlighter=pygments -a pygments-style=native"
|
||||
AC_SUBST(ASCIIDOCTOR)
|
||||
AC_SUBST(ASCIIDOCTOR_ARGS)
|
||||
fi
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-de
|
||||
Title: WeeChat tester's guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-en
|
||||
Title: WeeChat tester's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-fr
|
||||
Title: WeeChat tester's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-it
|
||||
Title: WeeChat tester's guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-ja
|
||||
Title: WeeChat tester's guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-pl
|
||||
Title: WeeChat tester's guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
|
||||
@@ -1,3 +1,12 @@
|
||||
weechat (3.3-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
* Remove patch merged upstream (which command detection in libgcrypt)
|
||||
* Minor updates in debian/copyright
|
||||
* Enable Typing plugin
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 20 Sep 2021 10:05:56 +0000
|
||||
|
||||
weechat (3.2.1-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-de
|
||||
Title: WeeChat tester's guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-en
|
||||
Title: WeeChat tester's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-fr
|
||||
Title: WeeChat tester's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-it
|
||||
Title: WeeChat tester's guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-ja
|
||||
Title: WeeChat tester's guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-tester-pl
|
||||
Title: WeeChat tester's guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes how to test and report
|
||||
bugs against the WeeChat IRC Client (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
|
||||
Files: /usr/share/doc/weechat-doc/html/weechat_tester.pl.html
|
||||
+52
-1
@@ -21,7 +21,58 @@
|
||||
if(ENABLE_MAN OR ENABLE_DOC)
|
||||
find_package(Asciidoctor)
|
||||
if(ASCIIDOCTOR_FOUND)
|
||||
set(ASCIIDOCTOR_ARGS -a experimental -a "prewrap!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
|
||||
# common asciidoctor arguments
|
||||
set(ASCIIDOCTOR_ARGS -a experimental -a reproducible -a "prewrap!" -a "webfonts!" -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=pygments -a pygments-style=native)
|
||||
|
||||
# sed arguments used to replace links in ChangeLog and release notes
|
||||
set(SED_LINKS_ARGS
|
||||
-e "'s/issue #\\([0-9][0-9]*\\)/https:\\/\\/github.com\\/weechat\\/weechat\\/issues\\/\\1[issue #\\1^]/g'"
|
||||
-e "'s/bug #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/bugs\\/?\\1[bug #\\1^]/g'"
|
||||
-e "'s/task #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/task\\/?\\1[task #\\1^]/g'"
|
||||
-e "'s/patch #\\([0-9][0-9]*\\)/https:\\/\\/savannah.nongnu.org\\/patch\\/?\\1[patch #\\1^]/g'"
|
||||
-e "'s/debian #\\([0-9][0-9]*\\)/http:\\/\\/bugs.debian.org\\/cgi-bin\\/bugreport.cgi?bug=\\1[debian bug #\\1^]/g'"
|
||||
-e "'s/\\(CVE-[0-9][0-9]*-[0-9][0-9]*\\)/https:\\/\\/cve.mitre.org\\/cgi-bin\\/cvename.cgi?name=\\1[\\1^]/g'"
|
||||
)
|
||||
|
||||
# ChangeLog
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
||||
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../ChangeLog.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ChangeLog.html ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ChangeLog-links.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building ChangeLog.html"
|
||||
)
|
||||
add_custom_target(changelog DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog.html)
|
||||
|
||||
# Release notes
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
||||
COMMAND sed ARGS ${SED_LINKS_ARGS} ${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc > ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../ReleaseNotes.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -a docinfodir="${CMAKE_CURRENT_SOURCE_DIR}" -o ReleaseNotes.html ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/docinfo.html
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes-links.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building ReleaseNotes.html"
|
||||
)
|
||||
add_custom_target(rn DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseNotes.html)
|
||||
|
||||
# man/doc in all languages
|
||||
add_subdirectory(cs)
|
||||
add_subdirectory(de)
|
||||
add_subdirectory(en)
|
||||
|
||||
@@ -107,17 +107,4 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.de.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.de.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.de.html"
|
||||
)
|
||||
add_custom_target(doc-tester-de ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.de.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
endif()
|
||||
|
||||
+1
-7
@@ -28,7 +28,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.de.adoc \
|
||||
weechat_faq.de.adoc \
|
||||
weechat_quickstart.de.adoc \
|
||||
weechat_tester.de.adoc \
|
||||
includes/autogen_api_completions.de.adoc \
|
||||
includes/autogen_api_hdata.de.adoc \
|
||||
includes/autogen_api_infolists.de.adoc \
|
||||
@@ -53,8 +52,7 @@ if DOC
|
||||
doc_targets = weechat_user.de.html \
|
||||
weechat_scripting.de.html \
|
||||
weechat_faq.de.html \
|
||||
weechat_quickstart.de.html \
|
||||
weechat_tester.de.html
|
||||
weechat_quickstart.de.html
|
||||
doc_install = install-doc
|
||||
doc_uninstall = uninstall-doc
|
||||
endif
|
||||
@@ -82,10 +80,6 @@ weechat_faq.de.html: weechat_faq.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.de.html: weechat_quickstart.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.de.html $(abs_top_srcdir)/doc/de/weechat_quickstart.de.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.de.html: weechat_tester.de.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.de.html $(abs_top_srcdir)/doc/de/weechat_tester.de.adoc
|
||||
|
||||
# install man/docs
|
||||
|
||||
install-data-hook: $(man_install) $(doc_install)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
|
||||
|
||||
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
|
||||
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "tag_xxx": Wert des Tags "xxx" ohne Escapezeichen (ein Schlüssel pro Tag), "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzer, "host": Host, "command": Befehl, "channel": Kanal, "arguments": Argumente (schließt Kanal ein), "text": Text (zum Beispiel eine Nachricht von einem User), "param1" ... "paramN": geparste Befehlsparameter, "num_params": Anzahl geparste Befehlsparameter, "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
|
||||
|
||||
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
|
||||
|
||||
|
||||
@@ -1174,6 +1174,14 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
Wenn Sie macOS ausführen und die heruntergeladene Datei eine Größe von 0 Byte hat,
|
||||
versuchen Sie, diese Variable in Ihrer Shell-Initialisierungsdatei oder auf der
|
||||
Befehlszeile zu setzen. Bevor Sie WeeChat starten:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== Ich habe aspell Wörterbücher auf mein System installiert. Wie kann ich diese nutzen, ohne WeeChat neu starten zu müssen?
|
||||
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
= WeeChat Anleitung für Testpersonen
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: de
|
||||
:toc: left
|
||||
:toc-title: Inhaltsverzeichnis
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
Übersetzer:
|
||||
|
||||
* Juergen Descher <jhdl@gmx.net>, 2009
|
||||
* Nils Görs <weechatter@arcor.de>, 2009-2016
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Intention
|
||||
|
||||
Viele dankbare Anwender fragen uns wie sie bei der Entwicklung von WeeChat
|
||||
helfen können. Der einfachste (aber auch der kniffligste) Weg uns zu helfen ist:
|
||||
testen!
|
||||
|
||||
Testen ist ein sehr wichtiger Teil der Programmentwicklung und sollte daher
|
||||
nicht unterbewertet werden. Wenn neue Funktionen implementiert wurden dann
|
||||
müssen diese getestet werden. Für manche Funktionen gibt es sehr viele
|
||||
verschiedene Problemstellungen, oder diese sind äußerst Umfangreich. Dadurch
|
||||
können die Entwickler nicht jede einzelne Variante ausprobieren.
|
||||
|
||||
Ein Beispiel: Eine berüchtigte Zeichensatz-Erweiterung wurde in WeeChat 0.2.2
|
||||
eingeführt. Keiner von uns, Entwickler, Mithelfende und Tester, nutzten Channels
|
||||
in denen länderspezifische Zeichen im eigenen Namen Verwendung fanden. Somit wurde
|
||||
die Version 0.2.2 freigegeben und wir bekamen daraufhin eine Flut von Beschwerden
|
||||
durch russischen User, bei denen der Fehler sichtbar war. Hätten wir mehr Tester,
|
||||
dann sollte so etwas nicht mehr passieren.
|
||||
|
||||
Eine stabile Version von WeeChat zu testen bringt uns leider nicht weiter da die
|
||||
Entwickler in der Zwischenzeit neue Funktionen implementiert haben und vermutlich
|
||||
alte Fehler schon behoben wurden.
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Bereite Dein System vor
|
||||
|
||||
Es wäre uns schon sehr damit geholfen wenn Du Linux _core_ Dateien aktivieren würdest.
|
||||
Falls WeeChat abstürzen sollte wird eine Datei Namens _core_ erzeugt. Diese Datei
|
||||
beinhaltet viele nützliche Debug-Informationen um das genaue Problem in WeeChat
|
||||
zu lokalisieren.
|
||||
|
||||
Falls Du die _bash_ als shell benutzt, dann ergänze Deine _~/.bashrc_ durch folgende
|
||||
Zeile:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Besorge Dir die Entwickler-Version
|
||||
|
||||
aktueller Programmcode (mit den aktuellen Fehlern und Funktionen) ist im GIT Repository
|
||||
gespeichert.
|
||||
|
||||
Du könntest Dich dazu entscheiden es manuell zu bauen (empfohlen):
|
||||
|
||||
* die GIT Version kann parallel zur stabilen Version kompiliert und installiert
|
||||
werden.
|
||||
* Du benötigst keine Root-Rechte, und opfern brauchst Du Deine stabile Version
|
||||
von WeeChat auch nicht.
|
||||
|
||||
[[get_sources]]
|
||||
=== Beschaffe und baue die Quellen
|
||||
|
||||
Erstelle zuerst einen neuen Ordner, z.B. _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
Falls Du git installiert hast, clone das git Repository (empfohlen):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Um auf den aktuellen Stand zu kommen verwendest Du z.B. `git pull` in
|
||||
diesem Ordner.
|
||||
|
||||
Ansonsten kannst Du das _Entwickler-Paket_ herunterladen und entpacken:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
Um die Quellen zu übersetzen, wird CMake empfohlen:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
Falls Du CMake nicht hast, ist es auch möglich die autotools zu nutzen:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Installieren des Programm-Paketes
|
||||
|
||||
Abhängig Deiner Linux Distribution:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: PKGBUILD von https://aur.archlinux.org/
|
||||
* andere: Wissen wir nicht! Eheh.
|
||||
|
||||
|
||||
[[run]]
|
||||
== WeeChat starten
|
||||
|
||||
Die Befehlszeile lautet:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
Immer noch munter? Dann solltest Du jetzt das bekannte Interface sehen und nun
|
||||
prahle vor Anderen, dass Du die neueste WeeChat-Version verwendest :)
|
||||
|
||||
Solltest Du nun ein merkwürdiges Verhalten bemerken (es können diverse Probleme
|
||||
oder Abstürze auftreten oder einfach Dein Bier überkochen) zögere nicht, komme
|
||||
in den Channel _#weechat_ auf _irc.libera.chat_ (A.d.Ü.: englischsprachig) und
|
||||
berichte uns darüber.
|
||||
|
||||
Auch falls alles korrekt funktionieren sollte gib uns trotzdem Bescheid, wir
|
||||
brauchen Deine Rückmeldung!
|
||||
+1967
-1842
File diff suppressed because it is too large
Load Diff
+211
-3
@@ -3,36 +3,244 @@
|
||||
Copyright (C) 2016-2021 Sébastien Helleu <flashcode@flashtux.org>
|
||||
-->
|
||||
<style>
|
||||
#header,#content,#footnotes,#footer {
|
||||
|
||||
/* themes/colors */
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
/* dark theme */
|
||||
:root {
|
||||
--body-bg-color: #1a1a1a;
|
||||
--body-color: #ddd;
|
||||
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
|
||||
--link-color: #8aceff;
|
||||
--table-thead-tfoot: #252525;
|
||||
--th-color: #fff;
|
||||
--toc-bg-color: #252525;
|
||||
--color-header1: #ddd;
|
||||
--color-header2: #da8975;
|
||||
--header-details-color: #aaa;
|
||||
--border: 1px solid #444;
|
||||
--code-bg-color: #252525;
|
||||
--pre-bg-color: #202020;
|
||||
--pre-code-bg-color: #202020;
|
||||
--keyseq-color: #777;
|
||||
--kbd-bg-color: #252525;
|
||||
--kbd-border: 1px solid #333;
|
||||
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #2c2c2c;
|
||||
--icon-note-color: #4d7cc6;
|
||||
--icon-tip-color: #fff;
|
||||
--icon-warning-color: #f39c12;
|
||||
--icon-caution-color: #bf3400;
|
||||
--icon-important-color: #f44336;
|
||||
--mark-bg-color: #007;
|
||||
}
|
||||
}
|
||||
|
||||
@media (not (prefers-color-scheme: dark)), (prefers-color-scheme: light) {
|
||||
/* light theme */
|
||||
:root {
|
||||
--body-bg-color: ##fff;
|
||||
--body-color: #353535;
|
||||
--body-font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
|
||||
--link-color: #1d4b8f;
|
||||
--table-thead-tfoot: #f7f8f7;
|
||||
--th-color: #000;
|
||||
--toc-bg-color: #f8f8f7;
|
||||
--color-header1: #000;
|
||||
--color-header2: #ba3925;
|
||||
--header-details-color: #797979;
|
||||
--border: 1px solid #dddddf;
|
||||
--code-bg-color: #f7f7f8;
|
||||
--keyseq-color: #333c;
|
||||
--pre-bg-color: #f7f7f8;
|
||||
--pre-code-bg-color: #202020;
|
||||
--kbd-bg-color: #f7f7f7;
|
||||
--kbd-border: 1px solid #ccc;
|
||||
--kbd-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff;
|
||||
--icon-note-color: #19407c;
|
||||
--icon-tip-color: #111;
|
||||
--icon-warning-color: #bf6900;
|
||||
--icon-caution-color: #ff0000;
|
||||
--icon-important-color: #bf0000;
|
||||
--mark-bg-color: #9df;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--body-bg-color);
|
||||
color: var(--body-color);
|
||||
font-family: var(--body-font);
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: var(--color-header1) !important;
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
color: var(--color-header2) !important;
|
||||
}
|
||||
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 {
|
||||
font-family: var(--body-font);
|
||||
}
|
||||
|
||||
a:link, a:visited, #header .details span.email a {
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
table thead, table tfoot {
|
||||
background: var(--table-thead-tfoot) !important;
|
||||
}
|
||||
|
||||
table.tableblock, th.tableblock, td.tableblock {
|
||||
border: var(--border);
|
||||
}
|
||||
|
||||
th {
|
||||
color: var(--th-color) !important;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color: var(--body-bg-color);
|
||||
color: var(--body-color) !important;
|
||||
}
|
||||
|
||||
#toc.toc2 {
|
||||
background-color: var(--toc-bg-color);
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#toc.toc2 > ul {
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
@media screen and (max-width:767px) {
|
||||
#toc.toc2 {
|
||||
background-color: var(--body-bg-color);
|
||||
}
|
||||
}
|
||||
|
||||
p, .paragraph.lead > p, #preamble > .sectionbody > [class="paragraph"]:first-of-type p, #toctitle, .title {
|
||||
color: var(--body-color);
|
||||
}
|
||||
|
||||
#header .details {
|
||||
border-bottom: var(--border);
|
||||
color: var(--header-details-color);
|
||||
}
|
||||
|
||||
code, .prettyprint {
|
||||
background-color: var(--code-bg-color) !important;
|
||||
color: var(--body-color);
|
||||
}
|
||||
|
||||
pre > code {
|
||||
background-color: var(--pre-code-bg-color) !important;
|
||||
}
|
||||
|
||||
.keyseq {
|
||||
color: var(--keyseq-color);
|
||||
}
|
||||
|
||||
kbd {
|
||||
background-color: var(--kbd-bg-color) !important;
|
||||
border: var(--kbd-border) !important;
|
||||
box-shadow: var(--kbd-box-shadow);
|
||||
color: var(--body-color);
|
||||
}
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] {
|
||||
background-color: var(--pre-bg-color);
|
||||
color: var(--body-color);
|
||||
}
|
||||
|
||||
.sect1 + .sect1 {
|
||||
border-top: var(--border);
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-note::before {
|
||||
color: var(--icon-note-color);
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-tip::before {
|
||||
color: var(--icon-tip-color);
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-warning::before {
|
||||
color: var(--icon-warning-color);
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-caution::before {
|
||||
color: var(--icon-caution-color);
|
||||
}
|
||||
|
||||
.admonitionblock td.icon .icon-important::before {
|
||||
color: var(--icon-important-color);
|
||||
}
|
||||
|
||||
.admonitionblock > table td.content {
|
||||
border-left: var(--border);
|
||||
}
|
||||
|
||||
mark {
|
||||
background-color: var(--mark-bg-color);
|
||||
color: var(--body-color);
|
||||
}
|
||||
|
||||
/* syntax highlighting tuning */
|
||||
|
||||
pre.pygments .tok-cp {
|
||||
color: #ed4848;
|
||||
}
|
||||
|
||||
pre.pygments .tok-nc, pre.pygments .tok-nf {
|
||||
color: #649fef;
|
||||
}
|
||||
|
||||
pre.pygments .tok-gu, pre.pygments .tok-nc, pre.pygments .tok-nn {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* asciidoctor styles tuning */
|
||||
|
||||
#header, #content, #footnotes, #footer {
|
||||
max-width: none;
|
||||
padding-left: 3em;
|
||||
padding-right: 3em;
|
||||
}
|
||||
|
||||
#header #revnumber {
|
||||
text-transform: none;
|
||||
}
|
||||
h1,h2,h3,h4,h5 {
|
||||
|
||||
h1, h2, h3, h4, h5 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.literalblock pre {
|
||||
font-family: monospace, 'Courier New', Courier;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
kbd {
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
.keyseq {
|
||||
margin-left: .2em;
|
||||
margin-right: .2em;
|
||||
}
|
||||
|
||||
.tableblock kbd {
|
||||
margin-top: .2em;
|
||||
margin-bottom: .2em;
|
||||
}
|
||||
|
||||
.hex {
|
||||
padding: 0 .2em;
|
||||
border: 1px solid #88b;
|
||||
border: var(--border);
|
||||
margin: 0 .2em;
|
||||
font-family: monospace;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -122,19 +122,6 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.en.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.en.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.en.html"
|
||||
)
|
||||
add_custom_target(doc-tester-en ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.en.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# relay protocol
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.en.html
|
||||
|
||||
@@ -29,7 +29,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.en.adoc \
|
||||
weechat_faq.en.adoc \
|
||||
weechat_quickstart.en.adoc \
|
||||
weechat_tester.en.adoc \
|
||||
weechat_relay_protocol.en.adoc \
|
||||
weechat_dev.en.adoc \
|
||||
includes/autogen_api_completions.en.adoc \
|
||||
@@ -58,7 +57,6 @@ if DOC
|
||||
weechat_scripting.en.html \
|
||||
weechat_faq.en.html \
|
||||
weechat_quickstart.en.html \
|
||||
weechat_tester.en.html \
|
||||
weechat_relay_protocol.en.html \
|
||||
weechat_dev.en.html
|
||||
doc_install = install-doc
|
||||
@@ -92,10 +90,6 @@ weechat_faq.en.html: weechat_faq.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.en.html: weechat_quickstart.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.en.html $(abs_top_srcdir)/doc/en/weechat_quickstart.en.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.en.html: weechat_tester.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.en.html $(abs_top_srcdir)/doc/en/weechat_tester.en.adoc
|
||||
|
||||
# relay protocol
|
||||
weechat_relay_protocol.en.html: weechat_relay_protocol.en.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.en.html $(abs_top_srcdir)/doc/en/weechat_relay_protocol.en.adoc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
|
||||
|
||||
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
|
||||
|
||||
|
||||
+119
-116
@@ -389,59 +389,61 @@ WeeChat "core" is located in following directories:
|
||||
|
||||
[width="100%",cols="2m,3",options="header"]
|
||||
|===
|
||||
| Path/file | Description
|
||||
| tests/ | Root of tests.
|
||||
| tests.cpp | Program used to run all tests.
|
||||
| scripts/ | Root of scripting API tests.
|
||||
| test-scripts.cpp | Program used to run the scripting API tests.
|
||||
| python/ | Python scripts to generate and run the scripting API tests.
|
||||
| testapigen.py | Python script generating scripts in all languages to test the scripting API.
|
||||
| testapi.py | Python script with scripting API tests, used by script testapigen.py.
|
||||
| unparse.py | Convert Python code to other languages, used by script testapigen.py.
|
||||
| unit/ | Root of unit tests.
|
||||
| test-plugins.cpp | Tests: plugins.
|
||||
| core/ | Root of unit tests for core.
|
||||
| test-core-arraylist.cpp | Tests: arraylists.
|
||||
| test-core-calc.cpp | Tests: calculation of expressions.
|
||||
| test-core-config-file.cpp | Tests: configuration files.
|
||||
| test-core-crypto.cpp | Tests: cryptographic functions.
|
||||
| test-core-dir.cpp | Tests: directory/file functions.
|
||||
| test-core-eval.cpp | Tests: evaluation of expressions.
|
||||
| test-core-hashtble.cpp | Tests: hashtables.
|
||||
| test-core-hdata.cpp | Tests: hdata.
|
||||
| test-core-hook.cpp | Tests: hooks.
|
||||
| test-core-infolist.cpp | Tests: infolists.
|
||||
| test-core-list.cpp | Tests: lists.
|
||||
| test-core-network.cpp | Tests: network functions.
|
||||
| test-core-secure.cpp | Tests: secured data.
|
||||
| test-core-signal.cpp | Tests: signals.
|
||||
| test-core-string.cpp | Tests: strings.
|
||||
| test-core-url.cpp | Tests: URLs.
|
||||
| test-core-utf8.cpp | Tests: UTF-8.
|
||||
| test-core-util.cpp | Tests: utility functions.
|
||||
| gui/ | Root of unit tests for interfaces.
|
||||
| test-gui-color.cpp | Tests: colors.
|
||||
| test-gui-line.cpp | Tests: lines.
|
||||
| test-gui-nick.cpp | Tests: nicks.
|
||||
| plugins/ | Root of unit tests for plugins.
|
||||
| irc/ | Root of unit tests for IRC plugin.
|
||||
| test-irc-channel.cpp | Tests: IRC channels.
|
||||
| test-irc-color.cpp | Tests: IRC colors.
|
||||
| test-irc-config.cpp | Tests: IRC configuration.
|
||||
| test-irc-ignore.cpp | Tests: IRC ignores.
|
||||
| test-irc-message.cpp | Tests: IRC messages.
|
||||
| test-irc-mode.cpp | Tests: IRC modes.
|
||||
| test-irc-nick.cpp | Tests: IRC nicks.
|
||||
| test-irc-protocol.cpp | Tests: IRC protocol.
|
||||
| test-irc-server.cpp | Tests: IRC server.
|
||||
| trigger/ | Root of unit tests for trigger plugin.
|
||||
| test-trigger.cpp | Tests: triggers.
|
||||
| typing/ | Root of unit tests for typing plugin.
|
||||
| test-typing.cpp | Tests: typing.
|
||||
| test-typing-status.cpp | Tests: typing status.
|
||||
| relay/ | Root of unit tests for Relay plugin.
|
||||
| test-relay-auth.cpp | Tests: clients authentication.
|
||||
|
||||
| Path/file | Description
|
||||
| tests/ | Root of tests.
|
||||
| tests.cpp | Program used to run all tests.
|
||||
| scripts/ | Root of scripting API tests.
|
||||
| test-scripts.cpp | Program used to run the scripting API tests.
|
||||
| python/ | Python scripts to generate and run the scripting API tests.
|
||||
| testapigen.py | Python script generating scripts in all languages to test the scripting API.
|
||||
| testapi.py | Python script with scripting API tests, used by script testapigen.py.
|
||||
| unparse.py | Convert Python code to other languages, used by script testapigen.py.
|
||||
| unit/ | Root of unit tests.
|
||||
| test-plugins.cpp | Tests: plugins.
|
||||
| core/ | Root of unit tests for core.
|
||||
| test-core-arraylist.cpp | Tests: arraylists.
|
||||
| test-core-calc.cpp | Tests: calculation of expressions.
|
||||
| test-core-config-file.cpp | Tests: configuration files.
|
||||
| test-core-crypto.cpp | Tests: cryptographic functions.
|
||||
| test-core-dir.cpp | Tests: directory/file functions.
|
||||
| test-core-eval.cpp | Tests: evaluation of expressions.
|
||||
| test-core-hashtble.cpp | Tests: hashtables.
|
||||
| test-core-hdata.cpp | Tests: hdata.
|
||||
| test-core-hook.cpp | Tests: hooks.
|
||||
| test-core-infolist.cpp | Tests: infolists.
|
||||
| test-core-list.cpp | Tests: lists.
|
||||
| test-core-network.cpp | Tests: network functions.
|
||||
| test-core-secure.cpp | Tests: secured data.
|
||||
| test-core-signal.cpp | Tests: signals.
|
||||
| test-core-string.cpp | Tests: strings.
|
||||
| test-core-url.cpp | Tests: URLs.
|
||||
| test-core-utf8.cpp | Tests: UTF-8.
|
||||
| test-core-util.cpp | Tests: utility functions.
|
||||
| gui/ | Root of unit tests for interfaces.
|
||||
| test-gui-color.cpp | Tests: colors.
|
||||
| test-gui-line.cpp | Tests: lines.
|
||||
| test-gui-nick.cpp | Tests: nicks.
|
||||
| plugins/ | Root of unit tests for plugins.
|
||||
| irc/ | Root of unit tests for IRC plugin.
|
||||
| test-irc-buffer.cpp | Tests: IRC buffers.
|
||||
| test-irc-channel.cpp | Tests: IRC channels.
|
||||
| test-irc-color.cpp | Tests: IRC colors.
|
||||
| test-irc-config.cpp | Tests: IRC configuration.
|
||||
| test-irc-ignore.cpp | Tests: IRC ignores.
|
||||
| test-irc-message.cpp | Tests: IRC messages.
|
||||
| test-irc-mode.cpp | Tests: IRC modes.
|
||||
| test-irc-nick.cpp | Tests: IRC nicks.
|
||||
| test-irc-protocol.cpp | Tests: IRC protocol.
|
||||
| test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|
||||
| test-irc-server.cpp | Tests: IRC server.
|
||||
| trigger/ | Root of unit tests for trigger plugin.
|
||||
| test-trigger.cpp | Tests: triggers.
|
||||
| test-trigger-config.cpp | Tests: trigger configuration.
|
||||
| typing/ | Root of unit tests for typing plugin.
|
||||
| test-typing.cpp | Tests: typing.
|
||||
| test-typing-status.cpp | Tests: typing status.
|
||||
| relay/ | Root of unit tests for Relay plugin.
|
||||
| test-relay-auth.cpp | Tests: clients authentication.
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -463,7 +465,6 @@ Documentation files:
|
||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.en.html[Quickstart guide].
|
||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.en.html[Relay protocol] (for remote interfaces).
|
||||
| weechat_scripting.XX.adoc | link:weechat_scripting.en.html[Scripting guide].
|
||||
| weechat_tester.XX.adoc | link:weechat_tester.en.html[Tester's guide].
|
||||
| weechat_user.XX.adoc | link:weechat_user.en.html[User's guide].
|
||||
| includes/ | Files included in documentation.
|
||||
| autogen_api_completions.XX.adoc | Auto-generated file for Plugin API reference: completions (do *NEVER* update manually!).
|
||||
@@ -509,7 +510,7 @@ directory:
|
||||
|
||||
Example in C:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* weechat.c - core functions for WeeChat
|
||||
@@ -547,7 +548,7 @@ Some basic rules you *must* follow when you write C code:
|
||||
|
||||
Example:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Checks if a string with boolean value is valid.
|
||||
@@ -578,7 +579,7 @@ foo ()
|
||||
Exception: in `for` loops, where variables like "i" or "n" are OK.
|
||||
* Initialize local variables after declaration, in body of function, example:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
void
|
||||
foo ()
|
||||
@@ -596,7 +597,7 @@ foo ()
|
||||
* Place curly brackets `+{ }+` alone on lines, and indent them with number of
|
||||
spaces used for line above opening curly bracket (the `if` in example):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (nicks_count == 1)
|
||||
{
|
||||
@@ -607,7 +608,7 @@ if (nicks_count == 1)
|
||||
* Use empty lines to separate many different blocks inside functions, and if
|
||||
possible add a comment for each one, like this:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Sends a message from out queue.
|
||||
@@ -650,7 +651,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
* Indent the `if` conditions, and use parentheses around conditions with an
|
||||
operator (not needed for single boolean), like this:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (something)
|
||||
{
|
||||
@@ -674,7 +675,7 @@ else
|
||||
|
||||
* Indent the `switch` statements like this:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
switch (string[0])
|
||||
{
|
||||
@@ -692,7 +693,7 @@ switch (string[0])
|
||||
|
||||
* Use `typedef` for function prototypes but not for structures:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
typedef int (t_hook_callback_fd)(void *data, int fd);
|
||||
|
||||
@@ -774,7 +775,7 @@ Structures have name _t_X_Y_ or _t_X_Y_Z_:
|
||||
|
||||
Example: an IRC nick (from _src/plugins/irc/irc-nick.h_):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_irc_nick
|
||||
{
|
||||
@@ -804,7 +805,7 @@ _X_ is name of variable, using singular form).
|
||||
|
||||
Example: windows (from _src/gui/gui-window.c_):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_window *gui_windows = NULL; /* first window */
|
||||
struct t_gui_window *last_gui_window = NULL; /* last window */
|
||||
@@ -824,7 +825,7 @@ Naming convention for functions is the same as
|
||||
|
||||
Example: creation of a new window (from _src/gui/gui-window.c_):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Creates a new window.
|
||||
@@ -860,7 +861,7 @@ and next node.
|
||||
|
||||
Example: list of buffers (from _src/gui/gui-buffer.h_):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer
|
||||
{
|
||||
@@ -875,7 +876,7 @@ struct t_gui_buffer
|
||||
|
||||
Then the two list pointers, to the head and tail of list:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
||||
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||
@@ -890,18 +891,10 @@ underline, ...) and colors on screen.
|
||||
All attributes/colors are prefixed with a char in string, which can be:
|
||||
|
||||
* _0x19_: color code (followed by color code(s))
|
||||
* _0x1A_: set attribute (followed by attribute on one char)
|
||||
* _0x1B_: remove attribute (followed by attribute on one char)
|
||||
* _0x1A_: set attribute (followed by raw attribute on one char)
|
||||
* _0x1B_: remove attribute (followed by raw attribute on one char)
|
||||
* _0x1C_: reset (nothing after)
|
||||
|
||||
Allowed attributes are (one or more chars):
|
||||
|
||||
* `+*+`: bold
|
||||
* `+!+`: reverse
|
||||
* `+/+`: italic
|
||||
* `+_+`: underline
|
||||
* `+|+`: keep attributes
|
||||
|
||||
Possible colors are:
|
||||
|
||||
* standard color: optional attributes + number on 2 digits
|
||||
@@ -910,45 +903,55 @@ Possible colors are:
|
||||
In following table, these conventions are used:
|
||||
|
||||
* `STD`: standard color (2 digits)
|
||||
* `(A)STD`: standard color with optional attributes (attributes + 2 digits)
|
||||
* `(ATTR)STD`: standard color with optional attributes (attributes + 2 digits)
|
||||
* `EXT`: extended color (`+@+` + 5 digits)
|
||||
* `(A)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
|
||||
* `ATTR`: one attribute char (`+*+`, `+!+`, `+/+`, `+_+` or `+|+`)
|
||||
* `(ATTR)EXT`: extended color with optional attributes (`+@+` + attributes + 5 digits)
|
||||
* `(ATTR)`: one or more attribute chars:
|
||||
** `+*+`: bold
|
||||
** `+!+`: reverse
|
||||
** `+/+`: italic
|
||||
** `+_+`: underline
|
||||
** `+|+`: keep attributes
|
||||
* `(a)`: one raw attribute char:
|
||||
** _0x01_: bold
|
||||
** _0x02_: reverse
|
||||
** _0x03_: italic
|
||||
** _0x04_: underline
|
||||
|
||||
All combinations are summarized in this table:
|
||||
|
||||
[width="100%",cols="4,2,2,8",options="header"]
|
||||
[width="100%",cols="4,3,2,8",options="header"]
|
||||
|===
|
||||
| Code | Example | Areas | Description
|
||||
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
|
||||
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
|
||||
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
|
||||
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
|
||||
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
|
||||
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
|
||||
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
|
||||
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
|
||||
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | Set bar foreground color.
|
||||
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | Set bar delimiter color.
|
||||
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | Set bar background color.
|
||||
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
|
||||
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
|
||||
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
|
||||
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | Start item.
|
||||
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | bars | Start line item.
|
||||
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
|
||||
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | Set attribute.
|
||||
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | Remove attribute.
|
||||
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|
||||
| Code | Example | Areas | Description
|
||||
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + bars | Set attributes and color using option, see table below.
|
||||
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Set color with a ncurses pair (used only on `/color` buffer).
|
||||
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + bars | Set foreground (WeeChat color).
|
||||
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + bars | Set foreground (extended color).
|
||||
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + bars | Set background (WeeChat color).
|
||||
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | Set background (extended color).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | Set foreground (WeeChat color).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | Set foreground (extended color).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | Set foreground/background (WeeChat colors).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | Set foreground (WeeChat color) and background (extended color).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | Set foreground (extended color) and background (WeeChat color).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + bars | Set foreground/background (extended colors).
|
||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | bars | Set bar foreground color.
|
||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | bars | Set bar delimiter color.
|
||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | bars | Set bar background color.
|
||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | input bar | Start input char (used only in item "input_text").
|
||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | input bar | Start input hidden char (used only in item "input_text").
|
||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | input bar | Move cursor char (used only in item "input_text").
|
||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | bars | Start item.
|
||||
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | bars | Start line item.
|
||||
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + bars | Emphasize text _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | Reset color (keep attributes).
|
||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | Set attribute.
|
||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | Remove attribute.
|
||||
| [hex]#1C# | [hex]#1C# | chat + bars | Reset attributes and color.
|
||||
|===
|
||||
|
||||
[NOTE]
|
||||
@@ -1065,7 +1068,7 @@ Then some macros are defined to call these functions.
|
||||
For example, function _hook_timer_ is defined in structure _t_weechat_plugin_
|
||||
like this:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
long interval,
|
||||
@@ -1078,7 +1081,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
|
||||
And the macro used to call this function is:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
||||
__callback, __data) \
|
||||
@@ -1089,7 +1092,7 @@ And the macro used to call this function is:
|
||||
|
||||
So in a plugin, the call to function will be for example:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||
0, 1,
|
||||
@@ -1202,7 +1205,7 @@ work on it.
|
||||
The translations missing in files are indicated by this string:
|
||||
|
||||
----
|
||||
// TRANSLATION MISSING
|
||||
// TRANSLATION MISSING
|
||||
----
|
||||
|
||||
You must translate whole file except links and special keywords for notes,
|
||||
@@ -1219,7 +1222,7 @@ warnings, ... These words must be kept unchanged:
|
||||
[CAUTION]
|
||||
----
|
||||
|
||||
When there is a name after `<<link_name>>`, then you must translate it:
|
||||
When there is a name after `+<<link_name>>+`, then you must translate it:
|
||||
|
||||
----
|
||||
<<link_name,this text must be translated>>
|
||||
|
||||
@@ -1083,6 +1083,14 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
||||
try to set this variable in your shell initialization file or on command line,
|
||||
before starting WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
|
||||
|
||||
|
||||
+699
-640
File diff suppressed because it is too large
Load Diff
@@ -1,131 +0,0 @@
|
||||
= WeeChat tester's guide
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
:toc: left
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Purpose
|
||||
|
||||
Many thankful users ask us how can they help developing WeeChat. The
|
||||
easiest (and also most tricky) way to help developing WeeChat is testing!
|
||||
|
||||
Testing is a very important part of software development and should not be
|
||||
underestimated. When some features are implemented it should be tested, but for
|
||||
some features there are too many use cases or these cases are tricky and
|
||||
developers can't try out every case.
|
||||
|
||||
For example: A notorious charset plugin was introduced in WeeChat 0.2.2: none
|
||||
of us (developers, contributors and testers) used channels with national
|
||||
characters in their names and when 0.2.2 was released we got flooded by Russian
|
||||
users blaming us. If we have more testers it should not happen again in the
|
||||
future.
|
||||
|
||||
Testing the stable version of WeeChat is pointless because developers are busy
|
||||
implementing new stuff (and fixing old bugs) all the time.
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Prepare your system
|
||||
|
||||
It would help us a lot if you enable Linux _core_ files: if WeeChat crashes,
|
||||
Linux will write a file called _core_. This file contains very useful debug
|
||||
info, to know exactly where is problem in WeeChat.
|
||||
|
||||
If you're using the _bash_ shell, add following line to your _~/.bashrc_:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Download devel version
|
||||
|
||||
Fresh code (with latest bugs and features) is stored in a GIT repository.
|
||||
|
||||
You may decide to build it manually (recommended way):
|
||||
|
||||
* The GIT version can be built and installed in parallel to the stable version.
|
||||
* You don't need root access, and you don't need to sacrifice the stable
|
||||
version of WeeChat.
|
||||
|
||||
[[get_sources]]
|
||||
=== Get and build sources
|
||||
|
||||
First create a directory, for example _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
If you have git installed, you can just clone the git repository (recommended
|
||||
way):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Later, you can run `git pull` in this directory, to get deltas with
|
||||
the latest updates.
|
||||
|
||||
Otherwise you can download and unpack _devel_ package:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
To build sources, CMake is recommended:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
If you don't have CMake, it's still possible to use autotools:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Install binary package
|
||||
|
||||
According to your Linux distribution:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: PKGBUILD from https://aur.archlinux.org/
|
||||
* other: we don't know! Eheh.
|
||||
|
||||
|
||||
[[run]]
|
||||
== Run WeeChat
|
||||
|
||||
Command is:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
If you're still awake you should see the familiar interface and brag about
|
||||
having the newest possible version of WeeChat. ;)
|
||||
|
||||
Now if you experience strange behavior (it may have issues or crash or boil
|
||||
your beer) don't hesitate to join _#weechat_ at _irc.libera.chat_ and tell us.
|
||||
|
||||
If it doesn't crash - tell us too, we need your feedback!
|
||||
+1924
-1799
File diff suppressed because it is too large
Load Diff
@@ -1086,6 +1086,15 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
||||
try to set this variable in your shell initialization file or on command line,
|
||||
before starting WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== Instalé los diccionarios aspell en mi sistema, ¿cómo puedo utilizarlos sin necesidad de reiniciar WeeChat?
|
||||
|
||||
|
||||
@@ -122,19 +122,6 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.fr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.fr.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.fr.html"
|
||||
)
|
||||
add_custom_target(doc-tester-fr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.fr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# relay protocol
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.fr.html
|
||||
|
||||
@@ -29,7 +29,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.fr.adoc \
|
||||
weechat_faq.fr.adoc \
|
||||
weechat_quickstart.fr.adoc \
|
||||
weechat_tester.fr.adoc \
|
||||
weechat_relay_protocol.fr.adoc \
|
||||
weechat_dev.fr.adoc \
|
||||
includes/autogen_api_completions.fr.adoc \
|
||||
@@ -58,7 +57,6 @@ if DOC
|
||||
weechat_scripting.fr.html \
|
||||
weechat_faq.fr.html \
|
||||
weechat_quickstart.fr.html \
|
||||
weechat_tester.fr.html \
|
||||
weechat_relay_protocol.fr.html \
|
||||
weechat_dev.fr.html
|
||||
doc_install = install-doc
|
||||
@@ -92,10 +90,6 @@ weechat_faq.fr.html: weechat_faq.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.fr.html: weechat_quickstart.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.fr.html $(abs_top_srcdir)/doc/fr/weechat_quickstart.fr.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.fr.html: weechat_tester.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.fr.html $(abs_top_srcdir)/doc/fr/weechat_tester.fr.adoc
|
||||
|
||||
# relay protocol
|
||||
weechat_relay_protocol.fr.html: weechat_relay_protocol.fr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.fr.html $(abs_top_srcdir)/doc/fr/weechat_relay_protocol.fr.adoc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Extension | Nom | Description | Table de hachage (entrée) | Table de hachage (sortie)
|
||||
|
||||
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
|
||||
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "tag_xxx" : valeur de l'étiquette "xxx" sans échappements (une clé par étiquette), "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "user" : nom d'utilisateur, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "param1" ... "paramN" : paramètres de la commande, "num_params" : nombre de paramètres dans la commande, "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
|
||||
|
||||
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets par défaut) | "message" : message IRC, "server" : nom du serveur (optionnel) | "msg1" ... "msgN" : messages à envoyer (sans le "\r\n" final), "args1" ... "argsN" : paramètres des messages, "count" : nombre de messages
|
||||
|
||||
|
||||
@@ -1637,7 +1637,7 @@ listdefault : afficher les touches par défaut
|
||||
contexte : nom du contexte ("default" ou "search")
|
||||
bind : associer une commande à une touche ou affiche la commande associée à la touche
|
||||
bindctxt : associer une commande à une touche ou affiche la commande associée à la touche pour le contexte donné
|
||||
commande : commande (plusieurs commandes peuvent êtres séparées par des points-virgules)
|
||||
commande : commande (plusieurs commandes peuvent être séparées par des points-virgules)
|
||||
unbind : supprimer l'association à une touche
|
||||
unbindctxt : supprimer l'association à une touche pour le contexte donné
|
||||
reset : réinitialiser une touche à son association par défaut
|
||||
|
||||
+119
-115
@@ -391,58 +391,61 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
||||
|
||||
[width="100%",cols="2m,3",options="header"]
|
||||
|===
|
||||
| Chemin/fichier | Description
|
||||
| tests/ | Racine des tests.
|
||||
| tests.cpp | Programme utilisé pour lancer tous les tests.
|
||||
| scripts/ | Racine des tests de l'API script.
|
||||
| test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|
||||
| python/ | Scripts Python pour générer et lancer les tests de l'API script.
|
||||
| testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|
||||
| testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|
||||
| unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|
||||
| unit/ | Racine des tests unitaires.
|
||||
| test-plugins.cpp | Tests : extensions.
|
||||
| core/ | Racine des tests unitaires pour le cœur.
|
||||
| test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|
||||
| test-core-calc.cpp | Tests : calcul d'expressions.
|
||||
| test-core-config-file.cpp | Tests : fichiers de configuration.
|
||||
| test-core-crypto.cpp | Tests : fonctions cryptographiques.
|
||||
| test-core-dir.cpp | Tests : répertoires/fichiers.
|
||||
| test-core-eval.cpp | Tests : évaluation d'expressions.
|
||||
| test-core-hashtble.cpp | Tests : tables de hachage.
|
||||
| test-core-hdata.cpp | Tests : hdata.
|
||||
| test-core-hook.cpp | Tests : hooks.
|
||||
| test-core-infolist.cpp | Tests : infolists.
|
||||
| test-core-list.cpp | Tests : listes.
|
||||
| test-core-network.cpp | Tests : fonctions réseau.
|
||||
| test-core-secure.cpp | Tests : données sécurisées.
|
||||
| test-core-signal.cpp | Tests : signaux.
|
||||
| test-core-string.cpp | Tests : chaînes.
|
||||
| test-core-url.cpp | Tests : URLs.
|
||||
| test-core-utf8.cpp | Tests : UTF-8.
|
||||
| test-core-util.cpp | Tests : fonctions utiles.
|
||||
| gui/ | Racine des tests unitaires pour les interfaces.
|
||||
| test-gui-color.cpp | Tests : couleurs.
|
||||
| test-gui-line.cpp | Tests : lignes.
|
||||
| test-gui-nick.cpp | Tests : pseudos.
|
||||
| plugins/ | Racine des tests unitaires pour les extensions.
|
||||
| irc/ | Racine des tests unitaires pour l'extension IRC.
|
||||
| test-irc-channel.cpp | Tests : canaux IRC.
|
||||
| test-irc-color.cpp | Tests : couleurs IRC.
|
||||
| test-irc-config.cpp | Tests : configuration IRC.
|
||||
| test-irc-ignore.cpp | Tests : ignores IRC.
|
||||
| test-irc-message.cpp | Tests : messages IRC.
|
||||
| test-irc-mode.cpp | Tests : modes IRC.
|
||||
| test-irc-nick.cpp | Tests : pseudos IRC.
|
||||
| test-irc-protocol.cpp | Tests : protocole IRC.
|
||||
| test-irc-server.cpp | Tests : serveur IRC.
|
||||
| trigger/ | Racine des tests unitaires pour l'extension trigger.
|
||||
| test-trigger.cpp | Tests : triggers.
|
||||
| typing/ | Racine des tests unitaires pour l'extension typing.
|
||||
| test-typing.cpp | Tests : typing.
|
||||
| test-typing-status.cpp | Tests : statut d'écriture.
|
||||
| relay/ | Racine des tests unitaires pour l'extension Relay.
|
||||
| test-relay-auth.cpp | Tests : authentification des clients.
|
||||
| Chemin/fichier | Description
|
||||
| tests/ | Racine des tests.
|
||||
| tests.cpp | Programme utilisé pour lancer tous les tests.
|
||||
| scripts/ | Racine des tests de l'API script.
|
||||
| test-scripts.cpp | Programme utilisé pour lancer les tests de l'API script.
|
||||
| python/ | Scripts Python pour générer et lancer les tests de l'API script.
|
||||
| testapigen.py | Script Python générant des scripts dans tous les languages pour tester l'API script.
|
||||
| testapi.py | Script Python avec les tests API, utilisé par le script testapigen.py.
|
||||
| unparse.py | Conversion de code Python vers d'autres langages, utilisé par le script testapigen.py.
|
||||
| unit/ | Racine des tests unitaires.
|
||||
| test-plugins.cpp | Tests : extensions.
|
||||
| core/ | Racine des tests unitaires pour le cœur.
|
||||
| test-core-arraylist.cpp | Tests : listes avec tableau (« arraylists »).
|
||||
| test-core-calc.cpp | Tests : calcul d'expressions.
|
||||
| test-core-config-file.cpp | Tests : fichiers de configuration.
|
||||
| test-core-crypto.cpp | Tests : fonctions cryptographiques.
|
||||
| test-core-dir.cpp | Tests : répertoires/fichiers.
|
||||
| test-core-eval.cpp | Tests : évaluation d'expressions.
|
||||
| test-core-hashtble.cpp | Tests : tables de hachage.
|
||||
| test-core-hdata.cpp | Tests : hdata.
|
||||
| test-core-hook.cpp | Tests : hooks.
|
||||
| test-core-infolist.cpp | Tests : infolists.
|
||||
| test-core-list.cpp | Tests : listes.
|
||||
| test-core-network.cpp | Tests : fonctions réseau.
|
||||
| test-core-secure.cpp | Tests : données sécurisées.
|
||||
| test-core-signal.cpp | Tests : signaux.
|
||||
| test-core-string.cpp | Tests : chaînes.
|
||||
| test-core-url.cpp | Tests : URLs.
|
||||
| test-core-utf8.cpp | Tests : UTF-8.
|
||||
| test-core-util.cpp | Tests : fonctions utiles.
|
||||
| gui/ | Racine des tests unitaires pour les interfaces.
|
||||
| test-gui-color.cpp | Tests : couleurs.
|
||||
| test-gui-line.cpp | Tests : lignes.
|
||||
| test-gui-nick.cpp | Tests : pseudos.
|
||||
| plugins/ | Racine des tests unitaires pour les extensions.
|
||||
| irc/ | Racine des tests unitaires pour l'extension IRC.
|
||||
| test-irc-buffer.cpp | Tests : tampons IRC.
|
||||
| test-irc-channel.cpp | Tests : canaux IRC.
|
||||
| test-irc-color.cpp | Tests : couleurs IRC.
|
||||
| test-irc-config.cpp | Tests : configuration IRC.
|
||||
| test-irc-ignore.cpp | Tests : ignores IRC.
|
||||
| test-irc-message.cpp | Tests : messages IRC.
|
||||
| test-irc-mode.cpp | Tests : modes IRC.
|
||||
| test-irc-nick.cpp | Tests : pseudos IRC.
|
||||
| test-irc-protocol.cpp | Tests : protocole IRC.
|
||||
| test-irc-sasl.cpp | Tests : authentification SASL avec le protocole IRC.
|
||||
| test-irc-server.cpp | Tests : serveur IRC.
|
||||
| trigger/ | Racine des tests unitaires pour l'extension trigger.
|
||||
| test-trigger.cpp | Tests : triggers.
|
||||
| test-trigger-config.cpp | Tests : configuration trigger.
|
||||
| typing/ | Racine des tests unitaires pour l'extension typing.
|
||||
| test-typing.cpp | Tests : typing.
|
||||
| test-typing-status.cpp | Tests : statut d'écriture.
|
||||
| relay/ | Racine des tests unitaires pour l'extension Relay.
|
||||
| test-relay-auth.cpp | Tests : authentification des clients.
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -464,7 +467,6 @@ Fichiers de documentation :
|
||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.fr.html[Guide de démarrage].
|
||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.fr.html[Protocole Relay (pour les interfaces distantes)].
|
||||
| weechat_scripting.XX.adoc | link:weechat_scripting.fr.html[Guide pour scripts].
|
||||
| weechat_tester.XX.adoc | link:weechat_tester.fr.html[Guide du testeur].
|
||||
| weechat_user.XX.adoc | link:weechat_user.fr.html[Guide utilisateur].
|
||||
| includes/ | Fichiers inclus dans la documentation.
|
||||
| autogen_api_completions.XX.adoc | Fichier auto-généré pour la Référence API extension : complétions (ne *JAMAIS* mettre à jour manuellement !).
|
||||
@@ -510,7 +512,7 @@ fichiers sont dans le répertoire _po/_ :
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* weechat.c - core functions for WeeChat
|
||||
@@ -551,7 +553,7 @@ Quelques règles basiques que vous *devez* suivre quand vous écrivez du code C
|
||||
|
||||
Exemple :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Checks if a string with boolean value is valid.
|
||||
@@ -584,7 +586,7 @@ foo ()
|
||||
* Initialisez les variables locales après la déclaration, dans le corps de la
|
||||
fonction, exemple :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
void
|
||||
foo ()
|
||||
@@ -604,7 +606,7 @@ foo ()
|
||||
nombre d'espaces utilisés sur la ligne au dessus de l'accolade ouvrante (le
|
||||
`if` dans l'exemple) :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (nicks_count == 1)
|
||||
{
|
||||
@@ -615,7 +617,7 @@ if (nicks_count == 1)
|
||||
* Utilisez des lignes vides pour séparer différents blocs dans les fonctions, et
|
||||
si possible ajoutez un commentaire pour chacun, comme ceci :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Sends a message from out queue.
|
||||
@@ -659,7 +661,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
conditions avec un opérateur (pas nécessaire pour un booléen simple), comme
|
||||
ceci :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (something)
|
||||
{
|
||||
@@ -683,7 +685,7 @@ else
|
||||
|
||||
* Indentez les `switch` comme ceci :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
switch (string[0])
|
||||
{
|
||||
@@ -702,7 +704,7 @@ switch (string[0])
|
||||
* Utilisez `typedef` pur les prototypes de fonctions mais pas pour les
|
||||
structures :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
typedef int (t_hook_callback_fd)(void *data, int fd);
|
||||
|
||||
@@ -784,7 +786,7 @@ Les structures ont le nom _t_X_Y_ ou _t_X_Y_Z_ :
|
||||
|
||||
Exemple : un pseudo IRC (de _src/plugins/irc/irc-nick.h_) :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_irc_nick
|
||||
{
|
||||
@@ -814,7 +816,7 @@ _last_X_ (où _X_ est le nom de la variable, en utilisant le singulier).
|
||||
|
||||
Exemple : fenêtres (de _src/gui/gui-window.c_) :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_window *gui_windows = NULL; /* first window */
|
||||
struct t_gui_window *last_gui_window = NULL; /* last window */
|
||||
@@ -834,7 +836,7 @@ La convention pour les noms des fonctions est le même que celui des
|
||||
|
||||
Exemple : création d'une nouvelle fenêtre (de _src/gui/gui-window.c_) :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Creates a new window.
|
||||
@@ -872,7 +874,7 @@ pointeur vers le nœud précédent/suivant.
|
||||
|
||||
Exemple : liste des tampons (de _src/gui/gui-buffer.h_) :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer
|
||||
{
|
||||
@@ -887,7 +889,7 @@ struct t_gui_buffer
|
||||
|
||||
Et les deux pointeurs vers la tête et la fin de liste :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
||||
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||
@@ -903,18 +905,10 @@ Tous les attributs/couleurs sont préfixés par un caractère dans la chaîne, q
|
||||
peuvent être :
|
||||
|
||||
* _0x19_ : code couleur (suivi par un/des code(s) couleur)
|
||||
* _0x1A_ : activer un attribut (suivi par un attribut sur un caractère)
|
||||
* _0x1B_ : supprimer un attribut (suivi par un attribut sur un caractère)
|
||||
* _0x1A_ : activer un attribut (suivi par un attribut brut sur un caractère)
|
||||
* _0x1B_ : supprimer un attribut (suivi par un attribut brut sur un caractère)
|
||||
* _0x1C_ : réinitialiser (rien après)
|
||||
|
||||
Les attributs autorisés sont (un ou plusieurs caractères) :
|
||||
|
||||
* `+*+` : gras
|
||||
* `+!+` : vidéo inverse
|
||||
* `+/+` : italique
|
||||
* `+_+` : souligné
|
||||
* `+|+` : garder les attributs
|
||||
|
||||
Les couleurs possibles sont :
|
||||
|
||||
* couleur standard : attributs facultatifs + nombre sur 2 digits
|
||||
@@ -923,47 +917,57 @@ Les couleurs possibles sont :
|
||||
Dans le tableau qui suit, les conventions suivantes sont utilisées :
|
||||
|
||||
* `STD` : couleur standard (2 digits)
|
||||
* `(A)STD` : couleur standard avec des attributs facultatifs
|
||||
* `(ATTR)STD` : couleur standard avec des attributs facultatifs
|
||||
(attributs + 2 digits)
|
||||
* `EXT` : couleur étendue (`+@+` + 5 digits)
|
||||
* `(A)EXT` : couleur étendue avec des attributs facultatifs
|
||||
* `(ATTR)EXT` : couleur étendue avec des attributs facultatifs
|
||||
(`+@+` + attributs + 5 digits)
|
||||
* `ATTR` : un caractère d'attribut (`+*+`, `+!+`, `+/+`, `+_+` ou `+|+`)
|
||||
* `(ATTR)` : un ou plusieurs caractères d'attribut :
|
||||
** `+*+` : gras
|
||||
** `+!+` : vidéo inverse
|
||||
** `+/+` : italique
|
||||
** `+_+` : souligné
|
||||
** `+|+` : garder les attributs
|
||||
* `(a)` : un caractère d'attribut brut :
|
||||
** _0x01_ : gras
|
||||
** _0x02_ : vidéo inverse
|
||||
** _0x03_ : italique
|
||||
** _0x04_ : souligné
|
||||
|
||||
Toutes les combinaisons sont résumées dans ce tableau :
|
||||
|
||||
[width="100%",cols="4,2,2,8",options="header"]
|
||||
[width="100%",cols="4,3,2,8",options="header"]
|
||||
|===
|
||||
| Code | Exemple | Aires | Description
|
||||
| [hex]#19# + STD | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
|
||||
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
|
||||
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
|
||||
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
|
||||
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
|
||||
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
|
||||
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
|
||||
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | barres | Début d'objet.
|
||||
| [hex]#19# + "b" + "l" (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
|
||||
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
|
||||
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + barres | Activer un attribut.
|
||||
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + barres | Supprimer un attribut.
|
||||
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|
||||
| Code | Exemple | Aires | Description
|
||||
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + barres | Définir les attributs et la couleur en utilisant une option, voir le tableau ci-dessous.
|
||||
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | Définir une couleur avec la paire ncurses (utilisé seulement sur le tampon `/color`).
|
||||
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + barres | Définir la couleur de fond (couleur WeeChat).
|
||||
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + barres | Définir le couleur de fond (couleur étendue).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + barres | Définir la couleur de texte (couleur WeeChat).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + barres | Définir la couleur de texte (couleur étendue).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + barres | Définir la couleur de texte/fond (couleurs WeeChat).
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + barres | Définir la couleur de texte (couleur WeeChat) et de fond (couleur étendue).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + barres | Définir la couleur de texte (couleur étendue) et de fond (couleur WeeChat).
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + barres | Définir la couleur de texte/fond (couleurs étendues).
|
||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | barres | Définir la couleur de texte de la barre.
|
||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | barres | Définir la couleur du délimiteur de la barre.
|
||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | barres | Définir la couleur de fond de la barre.
|
||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | barre input | Caractère de démarrage dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | barre input | Caractère de démarrage caché dans l'entrée (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | barre input | Caractère de déplacement du curseur (utilisé seulement dans l'objet "input_text").
|
||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | barres | Début d'objet.
|
||||
| [hex]#19# + `b` + `l` (lower L) | [hex]#19# `+bl+` | barres | Ligne de démarrage d'objet.
|
||||
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + barres | Texte mis en valeur _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + barres | Réinitialiser la couleur (garder les attributs).
|
||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + barres | Activer un attribut.
|
||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + barres | Supprimer un attribut.
|
||||
| [hex]#1C# | [hex]#1C# | chat + barres | Réinitialiser les attributs et la couleur.
|
||||
|===
|
||||
|
||||
[NOTE]
|
||||
@@ -1083,7 +1087,7 @@ Et puis des macros sont utilisées pour appeler ces fonctions.
|
||||
Par exemple, la fonction _hook_timer_ est définie dans la structure
|
||||
_t_weechat_plugin_ comme ceci :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
long interval,
|
||||
@@ -1096,7 +1100,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
|
||||
Et la macro utilisée pour appeler cette fonction est :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
||||
__callback, __data) \
|
||||
@@ -1107,7 +1111,7 @@ Et la macro utilisée pour appeler cette fonction est :
|
||||
|
||||
Donc dans une extension, l'appel à cette fonction sera par exemple :
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||
0, 1,
|
||||
@@ -1224,7 +1228,7 @@ _doc/en/_), puis travaillez dessus.
|
||||
Les traductions manquantes dans les fichiers sont indiquées par cette chaîne :
|
||||
|
||||
----
|
||||
// TRANSLATION MISSING
|
||||
// TRANSLATION MISSING
|
||||
----
|
||||
|
||||
Vous devez traduire tout le fichier sauf les liens et les mots-clés spéciaux
|
||||
@@ -1241,7 +1245,7 @@ pour les notes, avertissements, ... Ces mots doivent être gardés tels quels :
|
||||
[CAUTION]
|
||||
----
|
||||
|
||||
Lorsqu'il y a un nom après `<<link_name>>`, alors vous devez le traduire :
|
||||
Lorsqu'il y a un nom après `+<<link_name>>+`, alors vous devez le traduire :
|
||||
|
||||
----
|
||||
<<link_name,ce texte doit être traduit>>
|
||||
|
||||
@@ -1123,6 +1123,14 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
Si vous êtes sous macOS et que le fichier téléchargé a une taille de 0 octet,
|
||||
essayez de définir cette variable dans votre fichier d'initialisation du shell
|
||||
ou sur la ligne de commande, avant de démarrer WeeChat :
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== J'ai installé des dictionnaires aspell sur mon système, comment les utiliser sans redémarrer WeeChat ?
|
||||
|
||||
|
||||
+700
-640
File diff suppressed because it is too large
Load Diff
@@ -1,138 +0,0 @@
|
||||
= Guide du testeur WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: fr
|
||||
:toc: left
|
||||
:toc-title: Table des matières
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Objet
|
||||
|
||||
Beaucoup d'utilisateurs nous demandent comment aider WeeChat. La façon
|
||||
la plus facile (et aussi la plus rusée) consiste à le tester !
|
||||
|
||||
Le test est une partie très importante du développement de logiciel et
|
||||
ne devrait pas être sous-estimé. Lorsque de nouvelles fonctionnalités
|
||||
sont implémentées, elles doivent être testées, mais pour certaines
|
||||
fonctionnalités il y a trop de cas à tester et les développeurs ne
|
||||
peuvent pas tout tester.
|
||||
|
||||
Par exemple : l'extension charset introduite dans WeeChat WeeChat 0.2.2 : aucun
|
||||
de nous (développeurs, contributeurs et testeurs) n'utilisait de canaux avec
|
||||
des caractères spéciaux dans leurs noms et quand la version 0.2.2 a été rendue
|
||||
disponible, nous avons reçu de nombreuses remontées d'utilisateurs russes.
|
||||
Si nous avons plus de testeurs, cela ne devrait pas arriver à nouveau dans le
|
||||
futur.
|
||||
|
||||
Tester les versions stables de WeeChat est inutile car les
|
||||
développeurs sont constamment occupés à implémenter de nouvelles
|
||||
fonctionnalités (et à corriger des anciens bugs).
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Préparez votre système
|
||||
|
||||
Cela nous aiderait beaucoup si vous activiez les fichiers _core_ Linux : si
|
||||
WeeChat se plante, Linux écrit un fichier _core_. Ce fichier contient des
|
||||
informations importantes pour le debug, pour savoir exactement où le problème
|
||||
se situe dans WeeChat).
|
||||
|
||||
Si vous utilisez le shell _bash_, ajoutez cette ligne dans votre _~/.bashrc_ :
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Téléchargement de la version devel
|
||||
|
||||
Le code tout frais (avec les derniers bugs et fonctionnalités) est stocké dans
|
||||
GIT.
|
||||
|
||||
Vous pouvez décider de le construire manuellement (méthode recommandée) :
|
||||
|
||||
* La version GIT peut être construite et installée en parallèle de la version
|
||||
stable,
|
||||
* Vous n'avez pas besoin d'accès root ni de sacrifier votre version stable de
|
||||
WeeChat.
|
||||
|
||||
[[get_sources]]
|
||||
=== Obtenir et compiler les sources
|
||||
|
||||
Créez tout d'abord un répertoire, par exemple _weechat-git_ :
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
Si vous avez git installé, vous pouvez cloner la base GIT (recommandé) :
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Plus tard, vous pourrez utiliser la commande `git pull` dans ce répertoire
|
||||
pour obtenir juste les deltas avec la version d'aujourd'hui.
|
||||
|
||||
Sinon vous pouvez installer le paquet _devel_ :
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
Pour compiler les sources, CMake est recommandé :
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
Si vous n'avez pas CMake, il est toujours possible d'utiliser les autotools :
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Obtenir un paquet binaire
|
||||
|
||||
Selon votre distribution Linux :
|
||||
|
||||
* Debian : https://weechat.org/download/debian
|
||||
* Gentoo : https://weechat.org/download
|
||||
* ArchLinux : PKGBUILD depuis https://aur.archlinux.org/
|
||||
* autre : nous ne savons pas ! Eheh.
|
||||
|
||||
|
||||
[[run]]
|
||||
== Lancer WeeChat
|
||||
|
||||
La commande est :
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
Si vous êtes encore éveillé, vous devriez voir une interface familière et
|
||||
pouvoir vous vanter d'utiliser la version la plus récente possible de WeeChat ;)
|
||||
|
||||
Maintenant si vous obtenez un comportement étrange ou un plantage, n'hésitez
|
||||
pas à nous en avertir sur _#weechat_, serveur _irc.libera.chat_.
|
||||
|
||||
S'il n'y a pas de plantage, dites-le nous aussi, nous avons besoin de votre
|
||||
retour et de vos impressions !
|
||||
+1998
-1870
File diff suppressed because it is too large
Load Diff
@@ -122,17 +122,4 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.it.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.it.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.it.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.it.html"
|
||||
)
|
||||
add_custom_target(doc-tester-it ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.it.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
endif()
|
||||
|
||||
+1
-7
@@ -28,7 +28,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.it.adoc \
|
||||
weechat_faq.it.adoc \
|
||||
weechat_quickstart.it.adoc \
|
||||
weechat_tester.it.adoc \
|
||||
includes/autogen_api_completions.it.adoc \
|
||||
includes/autogen_api_hdata.it.adoc \
|
||||
includes/autogen_api_infolists.it.adoc \
|
||||
@@ -54,8 +53,7 @@ if DOC
|
||||
weechat_plugin_api.it.html \
|
||||
weechat_scripting.it.html \
|
||||
weechat_faq.it.html \
|
||||
weechat_quickstart.it.html \
|
||||
weechat_tester.it.html
|
||||
weechat_quickstart.it.html
|
||||
doc_install = install-doc
|
||||
doc_uninstall = uninstall-doc
|
||||
endif
|
||||
@@ -87,10 +85,6 @@ weechat_faq.it.html: weechat_faq.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.it.html: weechat_quickstart.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.it.html $(abs_top_srcdir)/doc/it/weechat_quickstart.it.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.it.html: weechat_tester.it.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.it.html $(abs_top_srcdir)/doc/it/weechat_tester.it.adoc
|
||||
|
||||
# install man/docs
|
||||
|
||||
install-data-hook: $(man_install) $(doc_install)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Plugin | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
|
||||
|
||||
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | split an IRC message (to fit in 512 bytes by default) | "message": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
|
||||
|
||||
|
||||
@@ -1173,6 +1173,15 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
||||
try to set this variable in your shell initialization file or on command line,
|
||||
before starting WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[spell_dictionaries]]
|
||||
=== I installed aspell dictionaries on my system, how can I use them without restarting WeeChat?
|
||||
|
||||
+707
-640
File diff suppressed because it is too large
Load Diff
@@ -1,144 +0,0 @@
|
||||
= Guida al Tester di WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: it
|
||||
:toc: left
|
||||
:toc-title: Indice
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Translators:
|
||||
|
||||
* Marco Paolone <marcopaolone@gmail.com>, 2009-2012
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Scopo
|
||||
|
||||
Molti utenti riconoscenti chiedono come possono aiutare nello sviluppo
|
||||
di WeeChat. Il modo più semplice (ed anche più delicato) per aiutare
|
||||
lo sviluppo di WeeChat è il testing!
|
||||
|
||||
Il testing è una parte davvero importante dello sviluppo software e non
|
||||
può essere sottovalutato. Quando vengono implementate alcune
|
||||
funzionalità dovrebbero essere testate, ma per alcune di esse esistono
|
||||
troppi casi di utilizzo o questi casi sono delicati e gli sviluppatori non
|
||||
possono verificarli uno ad uno.
|
||||
|
||||
Per esempio: È stato introdotto un famigerato set di caratteri in WeeChat 0.2.2:
|
||||
nessuno di noi (sviluppatori, contributori e tester) utilizzava canali con lettere
|
||||
dell'alfabeto nazionale nei loro nomi e quando è stata rilasciata la 0.2.2 siamo
|
||||
stati inondati dagli utenti russi. Se avessimo più tester non dovrebbe più
|
||||
accadere in futuro.
|
||||
|
||||
Testare la versione stabile di WeeChat è inutile poiché gli sviluppatori sono
|
||||
occupati nell'implementazione di nuove funzionalità (e nella correzione di
|
||||
vecchi bug).
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Preparazione del sistema
|
||||
|
||||
Sarebbe molto di aiuto abilitare i file _core_ di Linux: se WeeChat
|
||||
dovesse andare in crash, Linux scriverebbe un file chiamato _core_.
|
||||
Questo file contiene informazioni di debug molto utili, per sapere
|
||||
esattamente dove sia il problema in WeeChat.
|
||||
|
||||
Se si utilizza la shell _bash_, aggiungere la seguente riga al file _~/.bashrc_:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Download della versione di sviluppo
|
||||
|
||||
Il codice più fresco (con gli ultimi bug e le funzionalità più recenti) è
|
||||
conservato in un deposito GIT.
|
||||
|
||||
È possibile compilarlo manualmente (raccomandato):
|
||||
|
||||
* La versione GIT può essere compilata ed installata parallelamente alla
|
||||
* versione stabile, non è necessario l'accesso da root né sacrificare la
|
||||
versione stabile di WeeChat.
|
||||
|
||||
[[get_sources]]
|
||||
=== Ottenere e compilare i sorgenti
|
||||
|
||||
Per prima cosa creare una directory, per esempio _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
Se si ha git installato, si può clonare il deposito git (raccomandato):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
In seguito, si può eseguire `git pull` in questa directory per ricevere gli
|
||||
ultimi aggiornamenti.
|
||||
|
||||
Altrimenti si può scaricare ed estrarre il pacchetto _devel_:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
Per compilare i sorgenti, si raccomanda CMake:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
Se CMake non è installato, è ancora possibile usare gli autotools:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Installazione del pacchetto binario
|
||||
|
||||
A seconda della distribuzione Linux:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: PKGBUILD da https://aur.archlinux.org/
|
||||
* altro: non lo sappiamo! Eheh.
|
||||
|
||||
|
||||
[[run]]
|
||||
== Eseguire WeeChat
|
||||
|
||||
Il comando è:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
Se siete ancora svegli dovreste vedere un'interfaccia familiare e vantarvi del
|
||||
fatto di avere la versione più nuova possibile di WeeChat. ;)
|
||||
|
||||
Se si dovessero verificare strani comportamenti (potrebbe andare in crash
|
||||
o far bollire la vostra birra) non esitate ad entrare in _#weechat_ su
|
||||
_irc.libera.chat_ e farcelo sapere.
|
||||
|
||||
Se non dovesse andare in crash - ditelo comunque, abbiamo bisogno dei vostri
|
||||
commenti!
|
||||
+2115
-1960
File diff suppressed because it is too large
Load Diff
@@ -122,19 +122,6 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-ja ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.ja.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.ja.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.ja.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.ja.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.ja.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.ja.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.ja.html"
|
||||
)
|
||||
add_custom_target(doc-tester-ja ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.ja.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.ja.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# relay protocol
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.ja.html
|
||||
|
||||
@@ -28,7 +28,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.ja.adoc \
|
||||
weechat_faq.ja.adoc \
|
||||
weechat_quickstart.ja.adoc \
|
||||
weechat_tester.ja.adoc \
|
||||
weechat_relay_protocol.ja.adoc \
|
||||
weechat_dev.ja.adoc \
|
||||
includes/autogen_api_completions.ja.adoc \
|
||||
@@ -57,7 +56,6 @@ if DOC
|
||||
weechat_scripting.ja.html \
|
||||
weechat_faq.ja.html \
|
||||
weechat_quickstart.ja.html \
|
||||
weechat_tester.ja.html \
|
||||
weechat_relay_protocol.ja.html \
|
||||
weechat_dev.ja.html
|
||||
doc_install = install-doc
|
||||
@@ -91,10 +89,6 @@ weechat_faq.ja.html: weechat_faq.ja.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.ja.html: weechat_quickstart.ja.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.ja.html $(abs_top_srcdir)/doc/ja/weechat_quickstart.ja.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.ja.html: weechat_tester.ja.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.ja.html $(abs_top_srcdir)/doc/ja/weechat_tester.ja.adoc
|
||||
|
||||
# relay protocol
|
||||
weechat_relay_protocol.ja.html: weechat_relay_protocol.ja.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.ja.html $(abs_top_srcdir)/doc/ja/weechat_relay_protocol.ja.adoc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| プラグイン | 名前 | 説明 | ハッシュテーブル (入力) | ハッシュテーブル (出力)
|
||||
|
||||
| irc | irc_message_parse | IRC メッセージを解析 | "message": IRC メッセージ、"server": サーバ名 (任意) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
| irc | irc_message_parse | IRC メッセージを解析 | "message": IRC メッセージ、"server": サーバ名 (任意) | "tags": tags, "tag_xxx": unescaped value of tag "xxx" (one key per tag), "message_without_tags": message without the tags, "nick": nick, "user": user, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "param1" ... "paramN": parsed command parameters, "num_params": number of parsed command parameters, "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | IRC メッセージを分割 (デフォルトでは 512 バイト内に収まるように分割します) | "message": IRC メッセージ、"server": サーバ名 (任意) | "msg1" ... "msgN": 送信メッセージ (最後の "\r\n" は無し), "args1" ... "argsN": メッセージの引数、"count": メッセージの数
|
||||
|
||||
|
||||
+130
-115
@@ -408,79 +408,85 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
|
||||
[width="100%",cols="2m,3",options="header"]
|
||||
|===
|
||||
| パス/ファイル名 | 説明
|
||||
| tests/ | テスト用のルートディレクトリ
|
||||
| tests.cpp | 全テストの実行時に使われるプログラム
|
||||
| scripts/ | スクリプト API テスト用のルートディレクトリ
|
||||
| test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|
||||
| python/ | スクリプト API テストを生成、実行する Python スクリプト
|
||||
| testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|
||||
| testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|
||||
| unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|
||||
| unit/ | 単体テスト用のルートディレクトリ
|
||||
| test-plugins.cpp | テスト: プラグイン
|
||||
| core/ | core 向け単体テスト用のルートディレクトリ
|
||||
| test-core-arraylist.cpp | テスト: 配列リスト
|
||||
| パス/ファイル名 | 説明
|
||||
| tests/ | テスト用のルートディレクトリ
|
||||
| tests.cpp | 全テストの実行時に使われるプログラム
|
||||
| scripts/ | スクリプト API テスト用のルートディレクトリ
|
||||
| test-scripts.cpp | スクリプト API テストの実行時に使われるプログラム
|
||||
| python/ | スクリプト API テストを生成、実行する Python スクリプト
|
||||
| testapigen.py | スクリプト API のテスト時にすべての言語に関するスクリプトを生成する Python スクリプト
|
||||
| testapi.py | スクリプト API テスト時に使われる Python スクリプト (スクリプト testapigen.py から使われます)
|
||||
| unparse.py | Python コードを別の言語に変換 (スクリプト testapigen.py から使われます)
|
||||
| unit/ | 単体テスト用のルートディレクトリ
|
||||
| test-plugins.cpp | テスト: プラグイン
|
||||
| core/ | core 向け単体テスト用のルートディレクトリ
|
||||
| test-core-arraylist.cpp | テスト: 配列リスト
|
||||
// TRANSLATION MISSING
|
||||
| test-core-calc.cpp | Tests: calculation of expressions.
|
||||
| test-core-calc.cpp | Tests: calculation of expressions.
|
||||
// TRANSLATION MISSING
|
||||
| test-core-config-file.cpp | Tests: configuration files.
|
||||
| test-core-config-file.cpp | Tests: configuration files.
|
||||
// TRANSLATION MISSING
|
||||
| test-core-crypto.cpp | Tests: cryptographic functions.
|
||||
| test-core-crypto.cpp | Tests: cryptographic functions.
|
||||
// TRANSLATION MISSING
|
||||
| test-core-dir.cpp | Tests: directory/file functions.
|
||||
| test-core-eval.cpp | テスト: 式の評価
|
||||
| test-core-hashtble.cpp | テスト: ハッシュテーブル
|
||||
| test-core-hdata.cpp | テスト: hdata
|
||||
| test-core-hook.cpp | テスト: フック
|
||||
| test-core-infolist.cpp | テスト: インフォリスト
|
||||
| test-core-list.cpp | テスト: リスト
|
||||
| test-core-dir.cpp | Tests: directory/file functions.
|
||||
| test-core-eval.cpp | テスト: 式の評価
|
||||
| test-core-hashtble.cpp | テスト: ハッシュテーブル
|
||||
| test-core-hdata.cpp | テスト: hdata
|
||||
| test-core-hook.cpp | テスト: フック
|
||||
| test-core-infolist.cpp | テスト: インフォリスト
|
||||
| test-core-list.cpp | テスト: リスト
|
||||
// TRANSLATION MISSING
|
||||
| test-core-network.cpp | Tests: network functions.
|
||||
| test-core-secure.cpp | テスト: データ保護
|
||||
| test-core-network.cpp | Tests: network functions.
|
||||
| test-core-secure.cpp | テスト: データ保護
|
||||
// TRANSLATION MISSING
|
||||
| test-core-signal.cpp | テスト: signals.
|
||||
| test-core-string.cpp | テスト: 文字列
|
||||
| test-core-url.cpp | テスト: URL
|
||||
| test-core-utf8.cpp | テスト: UTF-8
|
||||
| test-core-util.cpp | テスト: ユーティリティ関数
|
||||
| gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|
||||
| test-core-signal.cpp | テスト: signals.
|
||||
| test-core-string.cpp | テスト: 文字列
|
||||
| test-core-url.cpp | テスト: URL
|
||||
| test-core-utf8.cpp | テスト: UTF-8
|
||||
| test-core-util.cpp | テスト: ユーティリティ関数
|
||||
| gui/ | インターフェースの単体テストを収める最上位ディレクトリ
|
||||
// TRANSLATION MISSING
|
||||
| test-gui-color.cpp | Tests: colors.
|
||||
| test-gui-line.cpp | テスト: 行
|
||||
| test-gui-color.cpp | Tests: colors.
|
||||
| test-gui-line.cpp | テスト: 行
|
||||
// TRANSLATION MISSING
|
||||
| test-gui-nick.cpp | テスト: nicks
|
||||
| plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|
||||
| irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|
||||
| test-gui-nick.cpp | テスト: nicks
|
||||
| plugins/ | プラグインの単体テストを収める最上位ディレクトリ
|
||||
| irc/ | IRC プラグインの単体テストを収める最上位ディレクトリ
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-channel.cpp | Tests: IRC channels.
|
||||
| test-irc-color.cpp | Tests: IRC colors.
|
||||
| test-irc-config.cpp | テスト: IRC 設定
|
||||
| test-irc-buffer.cpp | Tests: IRC buffers.
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-ignore.cpp | Tests: IRC ignores.
|
||||
| test-irc-channel.cpp | Tests: IRC channels.
|
||||
| test-irc-color.cpp | Tests: IRC colors.
|
||||
| test-irc-config.cpp | テスト: IRC 設定
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-message.cpp | Tests: IRC messages.
|
||||
| test-irc-ignore.cpp | Tests: IRC ignores.
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-mode.cpp | Tests: IRC modes.
|
||||
| test-irc-message.cpp | Tests: IRC messages.
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-nick.cpp | Tests: IRC nicks.
|
||||
| test-irc-protocol.cpp | テスト: IRC プロトコル
|
||||
| test-irc-mode.cpp | Tests: IRC modes.
|
||||
// TRANSLATION MISSING
|
||||
| test-irc-server.cpp | Tests: IRC server.
|
||||
| test-irc-nick.cpp | Tests: IRC nicks.
|
||||
| test-irc-protocol.cpp | テスト: IRC プロトコル
|
||||
// TRANSLATION MISSING
|
||||
| trigger/ | Root of unit tests for trigger plugin.
|
||||
| test-irc-sasl.cpp | Tests: SASL authentication with IRC protocol.
|
||||
// TRANSLATION MISSING
|
||||
| test-trigger.cpp | Tests: triggers.
|
||||
| test-irc-server.cpp | Tests: IRC server.
|
||||
// TRANSLATION MISSING
|
||||
| typing/ | Root of unit tests for typing plugin.
|
||||
| trigger/ | Root of unit tests for trigger plugin.
|
||||
// TRANSLATION MISSING
|
||||
| test-typing.cpp | Tests: typing.
|
||||
| test-trigger.cpp | Tests: triggers.
|
||||
// TRANSLATION MISSING
|
||||
| test-typing-status.cpp | Tests: typing status.
|
||||
| test-trigger-config.cpp | Tests: trigger configuration.
|
||||
// TRANSLATION MISSING
|
||||
| relay/ | Root of unit tests for Relay plugin.
|
||||
| typing/ | Root of unit tests for typing plugin.
|
||||
// TRANSLATION MISSING
|
||||
| test-relay-auth.cpp | Tests: clients authentication.
|
||||
| test-typing.cpp | Tests: typing.
|
||||
// TRANSLATION MISSING
|
||||
| test-typing-status.cpp | Tests: typing status.
|
||||
// TRANSLATION MISSING
|
||||
| relay/ | Root of unit tests for Relay plugin.
|
||||
// TRANSLATION MISSING
|
||||
| test-relay-auth.cpp | Tests: clients authentication.
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -503,7 +509,6 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.ja.html[クイックスタートガイド]
|
||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.ja.html[リレープロトコル] (リモートインターフェース用)
|
||||
| weechat_scripting.XX.adoc | link:weechat_scripting.ja.html[スクリプト作成ガイド]
|
||||
| weechat_tester.XX.adoc | link:weechat_tester.ja.html[テスターガイド]
|
||||
| weechat_user.XX.adoc | link:weechat_user.ja.html[ユーザーズガイド]
|
||||
// TRANSLATION MISSING
|
||||
| includes/ | Files included in documentation.
|
||||
@@ -549,7 +554,7 @@ WeeChat とプラグインの翻訳は gettext で行います、ファイルは
|
||||
** 電子メールアドレス、
|
||||
** ライセンス。
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* weechat.c - core functions for WeeChat
|
||||
@@ -587,7 +592,7 @@ C 言語のコードを書く際には以下の基本的なルールを *必ず*
|
||||
|
||||
例:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Checks if a string with boolean value is valid.
|
||||
@@ -618,7 +623,7 @@ foo ()
|
||||
例外: `for` ループのカウンタ変数に "i" や "n" を使うのは問題ありません。
|
||||
* 関数内で行うローカル変数の初期化は宣言の後に行ってください、例:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
void
|
||||
foo ()
|
||||
@@ -636,7 +641,7 @@ foo ()
|
||||
* 中括弧 `+{ }+` は制御文の次の行に単独で置き、制御文 (以下の `if` です)
|
||||
と同じ空白文字の数だけインデントしてください:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (nicks_count == 1)
|
||||
{
|
||||
@@ -646,7 +651,7 @@ if (nicks_count == 1)
|
||||
|
||||
* 関数内部でブロックを分けるには空行を使ってください、可能であればそれぞれのブロックにコメントを付けてください:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Sends a message from out queue.
|
||||
@@ -689,7 +694,7 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
||||
* `if` 条件はインデントし、演算子を含む条件は丸括弧で括ってください
|
||||
(単独のブール値を評価する場合は不要)、例:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (something)
|
||||
{
|
||||
@@ -713,7 +718,7 @@ else
|
||||
|
||||
* `switch` 文は以下の様にインデントしてください:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
switch (string[0])
|
||||
{
|
||||
@@ -731,7 +736,7 @@ switch (string[0])
|
||||
|
||||
* 関数プロトタイプには `typedef` を使い、構造体を使わないでください:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
typedef int (t_hook_callback_fd)(void *data, int fd);
|
||||
|
||||
@@ -813,7 +818,7 @@ _wee-command.c_ のヘッダファイルは _wee-command.h_ です
|
||||
|
||||
例: IRC のニックネーム (_src/plugins/irc/irc-nick.h_ より):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_irc_nick
|
||||
{
|
||||
@@ -843,7 +848,7 @@ struct t_irc_nick
|
||||
|
||||
例: ウィンドウ (_src/gui/gui-window.c_ より):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_window *gui_windows = NULL; /* first window */
|
||||
struct t_gui_window *last_gui_window = NULL; /* last window */
|
||||
@@ -862,7 +867,7 @@ struct t_gui_window *gui_current_window = NULL; /* current window */
|
||||
|
||||
例: 新しいウィンドウの作成 (_src/gui/gui-window.c_ より):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* Creates a new window.
|
||||
@@ -898,7 +903,7 @@ WeeChat のほとんどの連結リストは双方向連結リストです: 各
|
||||
|
||||
例: バッファのリスト (_src/gui/gui-buffer.h_ より):
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer
|
||||
{
|
||||
@@ -913,7 +918,7 @@ struct t_gui_buffer
|
||||
|
||||
さらにリストの最初と最後を示す 2 つのポインタがあります:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_gui_buffer *gui_buffers = NULL; /* first buffer */
|
||||
struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||
@@ -928,18 +933,12 @@ WeeChat は文字列中に独自の色コードを使うことで、属性
|
||||
文字列にある文字を含め、その後に属性および色を指定します、これは:
|
||||
|
||||
* _0x19_: 色コード (これの後に色コード指定)
|
||||
* _0x1A_: 属性の設定 (これの後に属性を指定)
|
||||
* _0x1B_: 削除属性 (これの後に属性を指定)
|
||||
// TRANSLATION MISSING
|
||||
* _0x1A_: set attribute (followed by raw attribute on one char)
|
||||
// TRANSLATION MISSING
|
||||
* _0x1B_: remove attribute (followed by raw attribute on one char)
|
||||
* _0x1C_: リセット (これの後には何も付けない)
|
||||
|
||||
指定できる属性は (1 文字以上):
|
||||
|
||||
* `+*+`: 太字
|
||||
* `+!+`: 反転
|
||||
* `+/+`: イタリック
|
||||
* `+_+`: 下線
|
||||
* `+|+`: 属性を保存
|
||||
|
||||
指定できる色は:
|
||||
|
||||
* 標準色: 任意属性 + 2 桁の番号
|
||||
@@ -948,45 +947,61 @@ WeeChat は文字列中に独自の色コードを使うことで、属性
|
||||
以下の表に使われる組み合わせを示す:
|
||||
|
||||
* `STD`: 標準色 (2 桁の番号)
|
||||
* `(A)STD`: 任意属性を含めた標準色 (属性 + 2 桁の番号)
|
||||
* `(ATTR)STD`: 任意属性を含めた標準色 (属性 + 2 桁の番号)
|
||||
* `EXT`: 拡張色 (`+@+` + 5 桁の番号)
|
||||
* `(A)EXT`:任意属性を含めた拡張色 (`+@+` + 属性 + 5 桁の番号)
|
||||
* `ATTR`: 属性指定の 1 文字 (`+*+`、`+!+`、`+/+`、`+_+`、`+|+`)
|
||||
* `(ATTR)EXT`:任意属性を含めた拡張色 (`+@+` + 属性 + 5 桁の番号)
|
||||
// TRANSLATION MISSING
|
||||
* `(ATTR)`: one or more attribute chars:
|
||||
** `+*+`: 太字
|
||||
** `+!+`: 反転
|
||||
** `+/+`: イタリック
|
||||
** `+_+`: 下線
|
||||
** `+|+`: 属性を保存
|
||||
// TRANSLATION MISSING
|
||||
* `(a)`: one raw attribute char:
|
||||
// TRANSLATION MISSING
|
||||
** _0x01_: bold
|
||||
// TRANSLATION MISSING
|
||||
** _0x02_: reverse
|
||||
// TRANSLATION MISSING
|
||||
** _0x03_: italic
|
||||
// TRANSLATION MISSING
|
||||
** _0x04_: underline
|
||||
|
||||
以下の表にすべての組み合わせをまとめています:
|
||||
|
||||
[width="100%",cols="4,2,2,8",options="header"]
|
||||
[width="100%",cols="4,3,2,8",options="header"]
|
||||
|===
|
||||
| コード | 例 | エリア | 説明
|
||||
| [hex]#19# + STD | [hex]#19# `+01+` | chat + bars | オプションを使って属性と色を指定、色コードは以下の表を参照
|
||||
| [hex]#19# + EXT | [hex]#19# `+@00001+` | chat | ncurses ペアを使って色を指定 (`/color` バッファのみ有効)
|
||||
| [hex]#19# + "F" + (A)STD | [hex]#19# `+F*05+` | chat + bars | 文字色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "F" + (A)EXT | [hex]#19# `+F@00214+` | chat + bars | 文字色 (拡張色) を設定
|
||||
| [hex]#19# + "B" + STD | [hex]#19# `+B05+` | chat + bars | 背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "B" + EXT | [hex]#19# `+B@00124+` | chat + bars | 背景色 (拡張色) を設定
|
||||
| [hex]#19# + "*" + (A)STD | [hex]#19# `+*05+` | chat + bars | 文字色(WeeChat 色) を設定
|
||||
| [hex]#19# + "*" + (A)EXT | [hex]#19# `+*@00214+` | chat + bars | 文字色 (拡張色) を設定
|
||||
| [hex]#19# + "*" + (A)STD + "," + STD ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "*" + (A)STD + "," + EXT ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定
|
||||
| [hex]#19# + "*" + (A)EXT + "," + STD ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "*" + (A)EXT + "," + EXT ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定
|
||||
| [hex]#19# + "*" + (A)STD + "~" + STD | [hex]#19# `+*08~05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "*" + (A)STD + "~" + EXT | [hex]#19# `+*01~@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + STD | [hex]#19# `+*@00214~05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + "*" + (A)EXT + "~" + EXT | [hex]#19# `+*@00214~@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定
|
||||
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | bars | バーの文字色を設定
|
||||
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | bars | バーの区切り文字色を設定
|
||||
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | bars | バーの背景色を設定
|
||||
| [hex]#19# + "b" + "_" | [hex]#19# `+b_+` | input bar | 文字入力を開始 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + "b" + "-" | [hex]#19# `+b-+` | input bar | 隠し文字入力を開始 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + "b" + "#" | [hex]#19# `+b#+` | input bar | カーソル文字を移動 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + "b" + "i" | [hex]#19# `+bi+` | bars | 要素を開始
|
||||
| [hex]#19# + "b" + "l" (小文字の L) | [hex]#19# `+bl+` | bars | 行要素を開始
|
||||
| [hex]#19# + "E" | [hex]#19# `+E+` | chat + bars | テキストを強調 _(WeeChat バージョン 0.4.2 以上で利用可)_
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | 色をリセット (属性は保存)
|
||||
| [hex]#1A# + ATTR | [hex]#1A# `+*+` | chat + bars | 属性を設定
|
||||
| [hex]#1B# + ATTR | [hex]#1B# `+*+` | chat + bars | 属性を削除
|
||||
| [hex]#1C# | [hex]#1C# | chat + bars | 属性と色をリセット
|
||||
| コード | 例 | エリア | 説明
|
||||
| [hex]#19# + `STD` | [hex]#19# `+01+` | chat + bars | オプションを使って属性と色を指定、色コードは以下の表を参照
|
||||
| [hex]#19# + `EXT` | [hex]#19# `+@00001+` | chat | ncurses ペアを使って色を指定 (`/color` バッファのみ有効)
|
||||
| [hex]#19# + `F` + `(ATTR)STD` | [hex]#19# `+F*05+` | chat + bars | 文字色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `F` + `(ATTR)EXT` | [hex]#19# `+F@00214+` | chat + bars | 文字色 (拡張色) を設定
|
||||
| [hex]#19# + `B` + `STD` | [hex]#19# `+B05+` | chat + bars | 背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `B` + `EXT` | [hex]#19# `+B@00124+` | chat + bars | 背景色 (拡張色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)STD` | [hex]#19# `+*05+` | chat + bars | 文字色(WeeChat 色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` | [hex]#19# `+*@00214+` | chat + bars | 文字色 (拡張色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `STD` ^(1)^ | [hex]#19# `+*08,05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `,` + `EXT` ^(1)^ | [hex]#19# `+*01,@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `STD` ^(1)^ | [hex]#19# `+*@00214,05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `,` + `EXT` ^(1)^ | [hex]#19# `+*@00214,@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `STD` | [hex]#19# `+*08~05+` | chat + bars | 文字色および背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)STD` + `~` + `EXT` | [hex]#19# `+*01~@00214+` | chat + bars | 文字色 (WeeChat 色) と背景色 (拡張色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `STD` | [hex]#19# `+*@00214~05+` | chat + bars | 文字色 (拡張色) と背景色 (WeeChat 色) を設定
|
||||
| [hex]#19# + `*` + `(ATTR)EXT` + `~` + `EXT` | [hex]#19# `+*@00214~@00017+` | chat + bars | 文字色および背景色 (拡張色) を設定
|
||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | bars | バーの文字色を設定
|
||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | bars | バーの区切り文字色を設定
|
||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | bars | バーの背景色を設定
|
||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | input bar | 文字入力を開始 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | input bar | 隠し文字入力を開始 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | input bar | カーソル文字を移動 ("input_text" 要素のみで利用可)
|
||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | bars | 要素を開始
|
||||
| [hex]#19# + `b` + `l` (小文字の L) | [hex]#19# `+bl+` | bars | 行要素を開始
|
||||
| [hex]#19# + `E` | [hex]#19# `+E+` | chat + bars | テキストを強調 _(WeeChat バージョン 0.4.2 以上で利用可)_
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | chat + bars | 色をリセット (属性は保存)
|
||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | chat + bars | 属性を設定
|
||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | chat + bars | 属性を削除
|
||||
| [hex]#1C# | [hex]#1C# | chat + bars | 属性と色をリセット
|
||||
|===
|
||||
|
||||
// TRANSLATION MISSING
|
||||
@@ -1104,7 +1119,7 @@ API 関数を簡単に呼び出すためのマクロが定義されています
|
||||
例えば、関数 _hook_timer_ は以下のように構造体
|
||||
_t_weechat_plugin_ で定義されています:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
long interval,
|
||||
@@ -1117,7 +1132,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
|
||||
この関数を呼び出すマクロは:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
#define weechat_hook_timer(__interval, __align_second, __max_calls, \
|
||||
__callback, __data) \
|
||||
@@ -1128,7 +1143,7 @@ struct t_hook *(*hook_timer) (struct t_weechat_plugin *plugin,
|
||||
|
||||
このため、プラグイン内での関数の呼び出しは以下の例の様に行います:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||
0, 1,
|
||||
@@ -1244,7 +1259,7 @@ Asciidoc ファイルは _doc/XX/_ ディレクトリにあり、_XX_
|
||||
ファイル中の未翻訳部分には以下の文字列で目印が付けられています:
|
||||
|
||||
----
|
||||
// TRANSLATION MISSING
|
||||
// TRANSLATION MISSING
|
||||
----
|
||||
|
||||
メモや警告などを示すリンクおよび特殊キーワードを除く全ての部分を必ず翻訳してください、以下の単語を書き換えるのはやめてください:
|
||||
@@ -1260,7 +1275,7 @@ Asciidoc ファイルは _doc/XX/_ ディレクトリにあり、_XX_
|
||||
[CAUTION]
|
||||
----
|
||||
|
||||
`<<link_name>>` の後に名前がある場合、これも必ず翻訳してください:
|
||||
`+<<link_name>>+` の後に名前がある場合、これも必ず翻訳してください:
|
||||
|
||||
----
|
||||
<<link_name,このテキストは必ず翻訳してください>>
|
||||
|
||||
@@ -1089,6 +1089,15 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
||||
try to set this variable in your shell initialization file or on command line,
|
||||
before starting WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== システムに aspell 辞書をインストールした後、WeeChat を再起動せずにそれを使う方法を教えてください。
|
||||
|
||||
|
||||
+702
-638
File diff suppressed because it is too large
Load Diff
@@ -1,135 +0,0 @@
|
||||
= WeeChat テスターガイド
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: ja-jp
|
||||
:toc: left
|
||||
:toc-title: 目次
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
翻訳者:
|
||||
|
||||
* Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>, 2012-2019
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== 目的
|
||||
|
||||
WeeChat
|
||||
開発への協力に興味を持っていただきありがとうございます。開発に協力する最も簡単
|
||||
(で最も大変) な方法はテストです!
|
||||
|
||||
テストはソフトウェア開発においてとても重要で、疎かにできないものです。何か新しい機能が実装されたらその機能はテストされるべきです。しかし、機能によっては使用条件が広すぎるか使用条件が特殊過ぎるため、開発チームが全ての条件をテストできない場合があります。
|
||||
|
||||
例: WeeChat 0.2.2 で導入された charset プラグインは悪名高いものでした:
|
||||
開発チームにはチャンネル名に各国語を使うユーザー
|
||||
(開発者、貢献者、テスター)
|
||||
がいなかったため、0.2.2
|
||||
がリリースされると、チームを非難するロシア人ユーザが殺到しました。より多くのテスターがいれば、今後そのようなことはおきないでしょう。
|
||||
|
||||
開発者は新機能の実装 (と古いバグの修正) に忙しいので、WeeChat
|
||||
安定版をテストすることは意味がありません。
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== システムの準備
|
||||
|
||||
Linux の _core_ ファイルを有効にすることはとても役に立ちます: WeeChat
|
||||
がクラッシュすると、Linux は _core_ と呼ばれるファイルを作ります。このファイルには、WeeChat
|
||||
に問題の有る箇所を正確に示す、とても役立つデバッグ情報が含まれています。
|
||||
|
||||
_bash_ シェルを使っている場合、以下の行を _~/.bashrc_ に追記してください:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== 開発版のダウンロード
|
||||
|
||||
最新のコード (最新のバグと最新の機能も含んでいますが) は GIT リポジトリにあります。
|
||||
|
||||
手作業で最新のコードをビルドすることができます (推奨):
|
||||
|
||||
* GIT 版は安定版と共存してビルド、インストールできます。
|
||||
* root 権限は必要ありません、WeeChat
|
||||
安定版を捨てる必要もありません。
|
||||
|
||||
[[get_sources]]
|
||||
=== ソースの取得とビルド
|
||||
|
||||
最初にディレクトリを作ってください、ここでは _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
git がインストール済みの場合、git
|
||||
リポジトリを clone してください (推奨):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
clone の後、このディレクトリ内で `git pull`
|
||||
を実行すれば、最新のアップデートとの差分が更新されます。
|
||||
|
||||
他の方法として _devel_ パッケージをダウンロードして展開する方法があります:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
ソースをビルドするには CMake を使うことを推奨します:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
CMake が無い場合は autotools を使うことも可能です:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== バイナリパッケージのインストール
|
||||
|
||||
Linux ディストリビューション別に:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: https://aur.archlinux.org/ から PKGBUILD
|
||||
* その他: 知らないよ! てへぺろ(・ω<)
|
||||
|
||||
|
||||
[[run]]
|
||||
== WeeChat の実行
|
||||
|
||||
コマンド:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
より万全を期すなら、上の方法を使って WeeChat
|
||||
の最新バージョンを使っていることを確認するべきです ;)
|
||||
|
||||
おかしな (問題を引き起こしたり、クラッシュしたり、あなたを怒らせるような) 挙動を見つけたら
|
||||
_irc.libera.chat_ の _#weechat_ に参加して、開発チームにこの挙動を教えてください。
|
||||
|
||||
クラッシュしなかったとしても教えてください。開発チームはあなたからのフィードバックをお待ちしています!
|
||||
+1988
-1826
File diff suppressed because it is too large
Load Diff
@@ -107,17 +107,4 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-pl ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.pl.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.pl.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.pl.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.pl.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.pl.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.pl.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.pl.html"
|
||||
)
|
||||
add_custom_target(doc-tester-pl ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.pl.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.pl.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
endif()
|
||||
|
||||
+1
-7
@@ -28,7 +28,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.pl.adoc \
|
||||
weechat_faq.pl.adoc \
|
||||
weechat_quickstart.pl.adoc \
|
||||
weechat_tester.pl.adoc \
|
||||
includes/autogen_api_completions.pl.adoc \
|
||||
includes/autogen_api_hdata.pl.adoc \
|
||||
includes/autogen_api_infolists.pl.adoc \
|
||||
@@ -53,8 +52,7 @@ if DOC
|
||||
doc_targets = weechat_user.pl.html \
|
||||
weechat_scripting.pl.html \
|
||||
weechat_faq.pl.html \
|
||||
weechat_quickstart.pl.html \
|
||||
weechat_tester.pl.html
|
||||
weechat_quickstart.pl.html
|
||||
doc_install = install-doc
|
||||
doc_uninstall = uninstall-doc
|
||||
endif
|
||||
@@ -82,10 +80,6 @@ weechat_faq.pl.html: weechat_faq.pl.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.pl.html: weechat_quickstart.pl.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.pl.html $(abs_top_srcdir)/doc/pl/weechat_quickstart.pl.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.pl.html: weechat_tester.pl.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.pl.html $(abs_top_srcdir)/doc/pl/weechat_tester.pl.adoc
|
||||
|
||||
# install man/docs
|
||||
|
||||
install-data-hook: $(man_install) $(doc_install)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Wtyczka | Nazwa | Opis | Hashtable (wejście) | Hashtable (wyjście)
|
||||
|
||||
| irc | irc_message_parse | przetwarza wiadomość IRC | "message": wiadomość IRC, "server": nazwa serwera (opcjonalne) | "tags": tagi, "tag_xxx": niewyescapowana wartość tagu "xxx" (jeden klucz per tag), "message_without_tags": wiadomość bez tagów, "nick": nick, "user": użytkownik, "host": host, "command": komenda, "channel": kanał, "arguments": argumenty (razem z kanałem), "text": tekst (na przykład wiadomość użytkownika), "pos_command": indeks wiadomości "command" ("-1" jeśli "command" nie zostało znalezione), "pos_arguments": indeks wiadomości "arguments" ("-1" jeśli "arguments" nie zostało znalezione), "pos_channel": indeks wiadomości "channel" ("-1" jeśli "channel" nie zostało znalezione), "pos_text": indeks słowa "text" ("-1" jeśli "text" nie zostało znalezione)
|
||||
| irc | irc_message_parse | przetwarza wiadomość IRC | "message": wiadomość IRC, "server": nazwa serwera (opcjonalne) | "tags": tagi, "tag_xxx": niewyescapowana wartość tagu "xxx" (jeden klucz per tag), "message_without_tags": wiadomość bez tagów, "nick": nick, "user": użytkownik, "host": host, "command": komenda, "channel": kanał, "arguments": argumenty (razem z kanałem), "text": tekst (na przykład wiadomość użytkownika), "param1" ... "paramN": sparsaowane parametry komendy, "num_params": ilość sparsowanych parametrów komendy, "pos_command": indeks wiadomości "command" ("-1" jeśli "command" nie zostało znalezione), "pos_arguments": indeks wiadomości "arguments" ("-1" jeśli "arguments" nie zostało znalezione), "pos_channel": indeks wiadomości "channel" ("-1" jeśli "channel" nie zostało znalezione), "pos_text": indeks słowa "text" ("-1" jeśli "text" nie zostało znalezione)
|
||||
|
||||
| irc | irc_message_split | dziel wiadomość IRC (aby zmieściła się domyślnie w 512 bajtach) | "message": wiadomość IRC, "server": nazwa serwera (opcjonalne) | "msg1" ... "msgN": wiadomości do wysłania (bez kończącego "\r\n"), "args1" ... "argsN": argumenty wiadomości, "count": ilość wiadomości
|
||||
|
||||
|
||||
@@ -17,32 +17,32 @@ cel: nazwa serwera
|
||||
* `+allchan+`: wykonuje komendę na wszystkich kanałach na połączonych serwerach
|
||||
|
||||
----
|
||||
/allchan [-current] [-parted] [-exclude=<channel>[,<channel>...]] <command>
|
||||
[-current] [-parted] -include=<channel>[,<channel>...] <command>
|
||||
/allchan [-current] [-parted] [-exclude=<kanał>[,<kanał>...]] <komenda>
|
||||
[-current] [-parted] -include=<kanał>[,<kanał>...] <komenda>
|
||||
|
||||
-current: execute command for channels of current server only
|
||||
-parted: execute on parted channels only
|
||||
-exclude: exclude some channels (wildcard "*" is allowed)
|
||||
-include: include only some channels (wildcard "*" is allowed)
|
||||
command: command to execute (or text to send to buffer if command does not start with '/')
|
||||
-current: wykonuje komendę tylko na kanałach obecnego serwera
|
||||
-parted: wykonaj tylko na opuszczonych kanałach
|
||||
-exclude: wyklucza niektóre kanały (wildcard "*" jest dozwolony)
|
||||
-include: uwzględnia tylko niektóre znaki (wildcard "*" est dozwolony)
|
||||
komenda: komenda do wykonania (albo tekst do wysłania do bufora jeśli komenda nie zaczyna się od '/')
|
||||
|
||||
Command and arguments are evaluated (see /help eval), the following variables are replaced:
|
||||
$server server name
|
||||
$channel channel name
|
||||
$nick nick on server
|
||||
${irc_server.xxx} variable xxx in server
|
||||
${irc_channel.xxx} variable xxx in channel
|
||||
Komenda i argumenty są przetwarzane (zobacz /help eval), następujące zmienne są podmieniane:
|
||||
$server nazwa serwera
|
||||
$channel nazwa kanału
|
||||
$nick nick na serwerze
|
||||
${irc_server.xxx} zmienna xxx na serwerze
|
||||
${irc_channel.xxx} zmienna xxx w kanalel
|
||||
|
||||
Examples:
|
||||
execute '/me is testing' on all channels:
|
||||
/allchan /me is testing
|
||||
say 'hello' everywhere but not on #weechat:
|
||||
/allchan -exclude=#weechat hello
|
||||
say 'hello' everywhere but not on #weechat and channels beginning with #linux:
|
||||
/allchan -exclude=#weechat,#linux* hello
|
||||
say 'hello' on all channels beginning with #linux:
|
||||
/allchan -include=#linux* hello
|
||||
close all buffers with parted channels:
|
||||
Przykłady:
|
||||
wykonuje '/me testuje' na wszystkich kanałach:
|
||||
/allchan /me testuje
|
||||
wysyła 'witam' wszędzie tylko nie na #weechat:
|
||||
/allchan -exclude=#weechat witam
|
||||
wysyła 'witam' wszędzie poza #weechat oraz kanałami zaczynającymi się od #linux:
|
||||
/allchan -exclude=#weechat,#linux* witam
|
||||
wysyła 'witam' na wszytkich kanałach zaczynających się od #linux:
|
||||
/allchan -include=#linux* witam
|
||||
zamyka wszystkie bufory opuszczonych kanałów:
|
||||
/allchan -parted /close
|
||||
----
|
||||
|
||||
@@ -1336,100 +1336,100 @@ infolists: wyświetla informacje o infolistach
|
||||
/eval [-n|-s] [-d] <wyrażenie>
|
||||
[-n] [-d [-d]] -c <wyrażenie1> <operator> <wyrażenie2>
|
||||
|
||||
-n: display result without sending it to buffer (debug mode)
|
||||
-s: split expression before evaluating it (many commands can be separated by semicolons)
|
||||
-d: display debug output after evaluation (with two -d: more verbose debug)
|
||||
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
|
||||
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
|
||||
operator: a logical or comparison operator:
|
||||
- logical operators:
|
||||
&& boolean "and"
|
||||
|| boolean "or"
|
||||
- comparison operators:
|
||||
== equal
|
||||
!= not equal
|
||||
<= less or equal
|
||||
< less
|
||||
>= greater or equal
|
||||
> greater
|
||||
=~ is matching POSIX extended regex
|
||||
!~ is NOT matching POSIX extended regex
|
||||
==* is matching mask, case sensitive (wildcard "*" is allowed)
|
||||
!!* is NOT matching mask, case sensitive (wildcard "*" is allowed)
|
||||
=* is matching mask, case insensitive (wildcard "*" is allowed)
|
||||
!* is NOT matching mask, case insensitive (wildcard "*" is allowed)
|
||||
==- is included, case sensitive
|
||||
!!- is NOT included, case sensitive
|
||||
=- is included, case insensitive
|
||||
!- is NOT included, case insensitive
|
||||
-n: wyświetla wynik bez wysyłania go do buforu (tryb debugowania)
|
||||
-s: podziel wyrażenie przed przetworzeniem go (wiele komend może być oddzielonych średnikami)
|
||||
-d: wyświetl wyjście debugowe po ewaluacji (drugie -d wyświetli więcej informacji)
|
||||
-c: przetwarza jako warunek: użyj operatorów i nawiasów, zwraca wartość logiczną ("0" lub "1")
|
||||
wyrażenie: wyrażenie do przetworzenia, zmienne o formacie ${zmienna} są zastępowane (zobacz niżej); wiele komend można oddzielić średnikami
|
||||
operator: operator logiczny lub porównania:
|
||||
- operatory logiczne:
|
||||
&& logiczne „i”
|
||||
|| logiczne „lub”
|
||||
- operatory porównania:
|
||||
== równy
|
||||
!= różny
|
||||
<= mniejszy lub równy
|
||||
< mniejszy
|
||||
>= większy lub równy
|
||||
> większy
|
||||
=~ pasuje do rozszerzonego wyrażenia regularnego POSIX
|
||||
!~ NIE pasuje do rozszerzonego wyrażenia regularnego POSIX
|
||||
==* pasuje do maski, rozróżnia wielkość znaków (dzika karta „*” dozwolona)
|
||||
!!* NIE pasuje do maski, rozróżnia wielkość znaków (dzika karta „*” dozwolona)
|
||||
=* pasuje do maski, nie rozróżnia wielkość znaków (dzika karta „*” dozwolona)
|
||||
!* NIE pasuje do maski, nie rozróżnia wielkość znaków (dzika karta „*” dozwolona)
|
||||
==- jest zawarte, rozróżnia wielkość znaków
|
||||
!!- NIE jest zawarte,rozróżnia wielkość znaków
|
||||
=- jest zawarte, nie rozróżnia wielkość znaków
|
||||
!- NIE jest zawarte, nie rozróżnia wielkość znaków
|
||||
|
||||
An expression is considered as "true" if it is not NULL, not empty, and different from "0".
|
||||
The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats:
|
||||
- integer (examples: 5, -7)
|
||||
- floating point number (examples: 5.2, -7.5, 2.83e-2)
|
||||
- hexadecimal number (examples: 0xA3, -0xA3)
|
||||
To force a string comparison, you can add double quotes around each expression, for example:
|
||||
Wyrażenie jest uznawane za „prawdziwe” jeśli nie jest NULL, nie jest puste, oraz różni się od „0”.
|
||||
Porównania dokonuje się z użyciem liczb całkowitych jeśli oba wyrażenia są liczbami całkowitymi, w jednym z następujących formatów:
|
||||
- liczby całkowite (przykłady: 5, -7)
|
||||
- liczby zmiennoprzecinkowe (przykłady: 5.2, -7.5, 2.83e-2)
|
||||
- liczby szesnastkowe (przykłady: 0xA3, -0xA3)
|
||||
W celu wymuszenia porównywania ciągów, należy umieścić każde wyrażenie w cudzysłowie, na przykład:
|
||||
50 > 100 ==> 0
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
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 with chars to hide (format: "hide:char,string")
|
||||
7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
8. a reversed string (format: "rev:xxx" or "revscr:xxx")
|
||||
9. a repeated string (format: "repeat:count,string")
|
||||
10. length of a string (format: "length:xxx" or "lengthscr:xxx")
|
||||
11. split of a string (format: "split:number,separators,flags,xxx")
|
||||
12. split of shell argmuents (format: "split_shell:number,xxx")
|
||||
13. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
14. a modifier (format: "modifier:name,data,string")
|
||||
15. an info (format: "info:name,arguments", arguments are optional)
|
||||
16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
|
||||
17. current date/time (format: "date" or "date:format")
|
||||
18. an environment variable (format: "env:XXX")
|
||||
19. a ternary operator (format: "if:condition?value_if_true:value_if_false")
|
||||
20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
|
||||
21. a random integer number (format: "random:min,max")
|
||||
22. a translated string (format: "translate:xxx")
|
||||
23. define a user variable (format: "define:name,value")
|
||||
24. an option (format: "file.section.option")
|
||||
25. a local variable in buffer
|
||||
26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
Format for hdata can be one of following:
|
||||
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
|
||||
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
|
||||
${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
|
||||
${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
|
||||
hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
|
||||
${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
|
||||
${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
Niektóre zmienne w wyrażeniach są zamieniane, poprzez zastosowanie formatu ${zmienna}, według priorytetu zmienną może być:
|
||||
1. nieprzetworzony ciąg (format: "raw:xxx")
|
||||
2. zmienna zdefiniowana przez użytkownika (format: "name")
|
||||
3. przetworzony ciąg (format: "eval:xxx")
|
||||
4. przetworzony warunek (format: "eval_cond:xxx")
|
||||
5. ciąg z wyescapowanymi znakami (format: "esc:xxx" lub "\xxx")
|
||||
6. ciąg ze znakami do ukrycia (format: "hide:char,string")
|
||||
7. ciąg o maksymalnej długości (format: "cut:max,suffix,string" lub "cut:+max,suffix,string")
|
||||
lub maksymalna ilość znaków wyświetlanych na ekranie (format: "cutscr:max,suffix,string" lub "cutscr:+max,suffix,string")
|
||||
8. odwrócony ciąg (format: "rev:xxx")
|
||||
9. powtórzony ciąg (format: "repeat:ilość,ciąg")
|
||||
10. długość ciągu (format: "length:xxx" or "lengthscr:xxx")
|
||||
11. podział ciągu (format: "split:number,separators,flags,xxx")
|
||||
12. podział argumentów powłoki (format: "split_shell:number,xxx")
|
||||
13. kolor (format "color:xxx", zobacz „Opis API wtyczek”, funkcja "color")
|
||||
14. modyfikator (format: "modifier:name,data,string")
|
||||
15. informacja (format: "info:nazwa,argumenty", argumenty są opcjonalne)
|
||||
16. ciąg zakodowany/zdekodowany z base 16/32/64 (format: "base_encode:base,xxx" lub "base_decode:base,xxx")
|
||||
17. obecna data/czas (format: "date" lub "date:format")
|
||||
18. zmienna środowiskowa (format: "env:XXX")
|
||||
19. wyrażenie warunkowe (format: "if:warunek?wartość_jeśli_prawda:wartość_jeśli_fałsz")
|
||||
20. wynik wyrażenia z nawiasami i operatorami + - * / // % ** (format: "calc:xxx")
|
||||
21. losowa liczba całkowita (format: "random:min,max")
|
||||
22. przetłumaczony ciąg (format: "translate:xxx")
|
||||
23. definiowanie zmiennej użytkownika (format: "define:nazwa,wartość")
|
||||
24. opcja (format: plik.sekcja.opcja)
|
||||
25. zmienna lokalna w buforze
|
||||
26. nazwa hdatay/zmiennej (wartość jest automatycznie konwertowana na ciąg znaków), domyślnie „window” i „buffer” wskazują na aktualne okno/bufor.
|
||||
Format dla hdata może być jednym z poniższych:
|
||||
hdata.zmienna1.zmienna2...: inicjuje hdata (wskaźnik musi być znany), następnie wypytuje zmienne jedna po drugiej (inne hdata mogą być następne)
|
||||
hdata[list].zmienna1.zmienna2...: inicjuje hdata z wykorzystaniem listy, na przykład:
|
||||
${buffer[gui_buffers].full_name}: pełna nazwa buforu w połączonej liście buforów
|
||||
${plugin[weechat_plugins].name}: nazwa pierwszej wtyczki w połączonej liście wtyczek
|
||||
hdata[wskaźnik].zmienna1.zmienna2...: zacznij z hdata używając wskaźnika, na przykład:
|
||||
${buffer[0x1234abcd].full_name}: pełna nazwa buforu z tym wskaźnikiem (może zostać użyte w triggerach)
|
||||
${buffer[my_pointer].full_name}: pełna nazwa buforu z jego wskaźnikiem (może zostać użyte w triggerach)
|
||||
Nazwy hdata i zmiennych, można znaleźć w „Opisie API wtyczek”, funkcja "weechat_hdata_get".
|
||||
|
||||
Examples (simple strings):
|
||||
/eval -n ${raw:${info:version}} ==> ${info:version}
|
||||
/eval -n ${eval_cond:${window.win_width}>100} ==> 1
|
||||
/eval -n ${info:version} ==> 0.4.3
|
||||
/eval -n ${env:HOME} ==> /home/user
|
||||
/eval -n ${weechat.look.scroll_amount} ==> 3
|
||||
/eval -n ${sec.data.password} ==> secret
|
||||
/eval -n ${window} ==> 0x2549aa0
|
||||
/eval -n ${window.buffer} ==> 0x2549320
|
||||
/eval -n ${window.buffer.full_name} ==> core.weechat
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
/eval -n ${rev:Hello} ==> olleH
|
||||
/eval -n ${repeat:5,-} ==> -----
|
||||
/eval -n ${length:test} ==> 4
|
||||
Przykłady (proste ciągi):
|
||||
/eval -n ${raw:${info:version}} ==> ${info:version}
|
||||
/eval -n ${eval_cond:${window.win_width}>100} ==> 1
|
||||
/eval -n ${info:version} ==> 0.4.3
|
||||
/eval -n ${env:HOME} ==> /home/user
|
||||
/eval -n ${weechat.look.scroll_amount} ==> 3
|
||||
/eval -n ${sec.data.password} ==> secret
|
||||
/eval -n ${window} ==> 0x2549aa0
|
||||
/eval -n ${window.buffer} ==> 0x2549320
|
||||
/eval -n ${window.buffer.full_name} ==> core.weechat
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${cut:3,+,test} ==> tes+
|
||||
/eval -n ${cut:+3,+,test} ==> te+
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
/eval -n ${if:${info:term_width}>80?big:small} ==> big
|
||||
/eval -n ${rev:Hello} ==> olleH
|
||||
/eval -n ${repeat:5,-} ==> -----
|
||||
/eval -n ${length:test} ==> 4
|
||||
/eval -n ${split:1,,,abc,def,ghi} ==> abc
|
||||
/eval -n ${split:-1,,,abc,def,ghi} ==> ghi
|
||||
/eval -n ${split:count,,,abc,def,ghi} ==> 3
|
||||
@@ -1438,14 +1438,14 @@ Examples (simple strings):
|
||||
/eval -n ${split_shell:-1,"arg 1" arg2} ==> arg2
|
||||
/eval -n ${split_shell:count,"arg 1" arg2} ==> 2
|
||||
/eval -n ${split_shell:random,"arg 1" arg2} ==> arg2
|
||||
/eval -n ${calc:(5+2)*3} ==> 21
|
||||
/eval -n ${calc:(5+2)*3} ==> 21
|
||||
/eval -n ${random:0,10} ==> 3
|
||||
/eval -n ${base_encode:64,test} ==> dGVzdA==
|
||||
/eval -n ${base_decode:64,dGVzdA==} ==> test
|
||||
/eval -n ${translate:Plugin} ==> Wtyczka
|
||||
/eval -n ${random:0,10} ==> 3
|
||||
/eval -n ${base_encode:64,test} ==> dGVzdA==
|
||||
/eval -n ${base_decode:64,dGVzdA==} ==> test
|
||||
/eval -n ${translate:Plugin} ==> Extension
|
||||
/eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8
|
||||
|
||||
Examples (conditions):
|
||||
Przykłady (warunki):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
/eval -n -c ${window.win_width} > 100 ==> 1
|
||||
/eval -n -c (8 > 12) || (5 > 2) ==> 1
|
||||
@@ -1557,63 +1557,63 @@ Wartość: ilość elementów historii do pokazania
|
||||
----
|
||||
/input <akcja> [<argumenty>]
|
||||
|
||||
list of actions:
|
||||
return: simulate key "enter"
|
||||
complete_next: complete word with next completion
|
||||
complete_previous: complete word with previous completion
|
||||
search_text_here: search text in buffer at current position
|
||||
search_text: search text in buffer
|
||||
search_switch_case: switch exact case for search
|
||||
search_switch_regex: switch search type: string/regular expression
|
||||
search_switch_where: switch search in messages/prefixes
|
||||
search_previous: search previous line
|
||||
search_next: search next line
|
||||
search_stop_here: stop search at current position
|
||||
search_stop: stop search
|
||||
delete_previous_char: delete previous char
|
||||
delete_next_char: delete next char
|
||||
delete_previous_word: delete previous word
|
||||
delete_next_word: delete next word
|
||||
delete_beginning_of_line: delete from beginning of line until cursor
|
||||
delete_end_of_line: delete from cursor until end of line
|
||||
delete_line: delete entire line
|
||||
clipboard_paste: paste from the internal clipboard
|
||||
transpose_chars: transpose two chars
|
||||
undo: undo last command line action
|
||||
redo: redo last command line action
|
||||
move_beginning_of_line: move cursor to beginning of line
|
||||
move_end_of_line: move cursor to end of line
|
||||
move_previous_char: move cursor to previous char
|
||||
move_next_char: move cursor to next char
|
||||
move_previous_word: move cursor to previous word
|
||||
move_next_word: move cursor to next word
|
||||
history_previous: recall previous command in current buffer history
|
||||
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)
|
||||
paste_stop: stop paste (bracketed paste mode)
|
||||
lista akcji:
|
||||
return: symuluje klawisz "enter"
|
||||
complete_next: dopełnia słowo następnym dopełnieniem
|
||||
complete_previous: dopełnia słowo poprzednim dopełnieniem
|
||||
search_text_here: szuka testu w obecnej pozycji w buforze
|
||||
search_text: szuka tekstu w buforze
|
||||
search_switch_case: przełącza na dokładne dopasowanie przy szukaniu
|
||||
search_switch_regex: przełącza typy wyszukiwania ciąg/wyrażenie regularne
|
||||
search_switch_where: zmienia miejsce przeszukiwania na wiadomości/przedrostki
|
||||
search_previous: szuka poprzednich linii
|
||||
search_next: szuka następnych linii
|
||||
search_stop_here: zatrzymuje wyszukiwanie na obecnej pozycji
|
||||
search_stop: zatrzymuje wyszukiwanie
|
||||
delete_previous_char: usuwa poprzedni znak
|
||||
delete_next_char: usuwa następny znak
|
||||
delete_previous_word: usuwa poprzednie słowo
|
||||
delete_next_word: usuwa następne słowo
|
||||
delete_beginning_of_line: usuwa od początku linii do kursora
|
||||
delete_end_of_line: usuwa od kursora do końca linii
|
||||
delete_line: usuwa cała linię
|
||||
clipboard_paste: wkleja ze schowka
|
||||
transpose_chars: zamienia dwa znaki
|
||||
undo: cofa ostatnia akcję w linii poleceń
|
||||
redo: ponownie wykonuje cofniętą akcję w linii poleceń
|
||||
move_beginning_of_line: przesuwa kursor na początek linii
|
||||
move_end_of_line: przesuwa kursor na koniec linii
|
||||
move_previous_char: przesuwa kursor do poprzedniego znaku
|
||||
move_next_char: przesuwa kursor do następnego znaku
|
||||
move_previous_word: przesuwa kursor do poprzedniego słowa
|
||||
move_next_word: przesuwa kursor do następnego słowa
|
||||
history_previous: przywołuje poprzednia komendę z historii obecnego bufora
|
||||
history_next: przywołuje następną komendę z historii obecnego bufora
|
||||
history_global_previous: przywołuje poprzednią komendę z globalnej historii
|
||||
history_global_next: przywołuje następną komendę z globalnej historii
|
||||
jump_smart: przechodzi do następnego bufora z aktywnością
|
||||
jump_last_buffer_displayed: przechodzi do ostatnio wyświetlanego bufora (przed ostatnim przeskoczeniem do bufora)
|
||||
jump_previously_visited_buffer: przeskakuje do poprzedniego bufora
|
||||
jump_next_visited_buffer: przeskakuje to następnego bufora
|
||||
hotlist_clear: czyści hotlistę (opcjonaly argument: "lowest" czyści najniższy poziom na hotliście, "highest" czyści najwyższy poziom na hotliście, albo maska poziomu: liczba będąca kombinacją 1=join/part, 2=wiadomość, 4=prywatny, 8=podświetlenie)
|
||||
hotlist_remove_buffer: usuwa obecny bufor z hotlisty
|
||||
hotlist_restore_buffer: przywraca ostatnią usuniętą hotlistę w obecnym buforze
|
||||
hotlist_restore_all: przywraca ostatnią usuniętą hotlistę we wszystkich buforach
|
||||
grab_key: przechwytuje klawisz (opcjonalny argument: opóźnienie końca przechwycenia, domyślnie jest to 500 milisekund)
|
||||
grab_key_command: przechwytuje klawisz z przypisaną komendą (opcjonalny argument: opóźnienie końca przechwycenia, domyślnie jest to 500 milisekund)
|
||||
grab_mouse: przechwytuje kod zdarzenia myszy
|
||||
grab_mouse_area: przechwytuje kod zdarzenia myszy z obszarem
|
||||
set_unread: ustawia znacznik nie przeczytania dla wszystkich buforów
|
||||
set_unread_current_buffer: ustawia znacznik nie przeczytania dla obecnego bufora
|
||||
switch_active_buffer: przełącza do następnego połączonego buforu
|
||||
switch_active_buffer_previous: przełącza do poprzedniego połączonego buforu
|
||||
zoom_merged_buffer: zoom na połączony bufor
|
||||
insert: wkleja tekst do linii poleceń (dozwolone są wyescapowane znaki, zobacz /help print)
|
||||
send: wysyła tekst do bufora
|
||||
paste_start: zaczyna wklejanie (tryb z rozpoznawaniem wklejanego tekstu)
|
||||
paste_stop: kończy wklejanie (tryb z rozpoznawaniem wklejanego tekstu)
|
||||
|
||||
This command is used by key bindings or plugins.
|
||||
Ta komenda jest używana do przypisywania klawiszy lub przez wtyczki.
|
||||
----
|
||||
|
||||
[[command_weechat_key]]
|
||||
@@ -1745,28 +1745,28 @@ Przykłady:
|
||||
* `+plugin+`: lista/załaduj/wyładuj wtyczkę
|
||||
|
||||
----
|
||||
/plugin list [-o|-ol|-i|-il|<name>]
|
||||
listfull [<name>]
|
||||
load <filename> [<arguments>]
|
||||
autoload [<arguments>]
|
||||
reload [<name>|* [<arguments>]]
|
||||
unload [<name>]
|
||||
/plugin list [-o|-ol|-i|-il|<nazwa>]
|
||||
listfull [<nazwa>]
|
||||
load <nazwapliku> [<argumenty>]
|
||||
autoload [<argumenty>]
|
||||
reload [<nazwa>|* [<argumenty>]]
|
||||
unload [<nazwa>]
|
||||
|
||||
list: list loaded plugins
|
||||
-o: send list of loaded plugins to buffer (string in English)
|
||||
-ol: send list of loaded plugins to buffer (translated string)
|
||||
-i: copy list of loaded plugins in command line (for sending to buffer) (string in English)
|
||||
-il: copy list of loaded plugins in command line (for sending to buffer) (translated string)
|
||||
name: a plugin name
|
||||
listfull: list loaded plugins (verbose)
|
||||
load: load a plugin
|
||||
filename: plugin (file) to load
|
||||
arguments: arguments given to plugin on load
|
||||
autoload: autoload plugins in system or user directory
|
||||
reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
|
||||
unload: unload a plugin (if no name given, unload all plugins)
|
||||
list: lista załadowanych wtyczek
|
||||
-o: wyślij listę załadowanych wtyczek do bufora (ciąg po angielsku)
|
||||
-ol: wyślij listę załadowanych wtyczek do bufora (przetłumaczony ciąg)
|
||||
-i: skopiuj listę załadowanych wtyczek do linii poleceń (do wysłania do bufora) (ciąg po angielsku)
|
||||
-il: skopiuj listę załadowanych wtyczek do linii poleceń (do wysłania do bufora) (przetłumaczony ciąg)
|
||||
nazwa: nazwa wtyczki
|
||||
listfull: lista załadowanych wtyczek (ze szczegółami)
|
||||
load: załaduj wtyczkę
|
||||
nazwa_pliku: wtyczka (plik) do załadowania
|
||||
argumenty: argumenty przekazywane do wtyczki przy ładowaniu
|
||||
autoload: automatycznie ładuj wtyczki z katalogu systemowego lub użytkownika
|
||||
reload: przeładuj wtyczkę (bez podania nazwy wyładuje wszystkie wtyczki, następnie załaduje te ładowane automatycznie)
|
||||
unload: wyłącza wtyczkę (bez podania nazwy wyłącza wszystkie wtyczki)
|
||||
|
||||
Without argument, this command lists loaded plugins.
|
||||
Bez argumentów polecenie pokaże listę załadowanych wtyczek.
|
||||
----
|
||||
|
||||
[[command_weechat_print]]
|
||||
@@ -1993,28 +1993,28 @@ Przykłady:
|
||||
----
|
||||
|
||||
[[command_weechat_toggle]]
|
||||
* `+toggle+`: toggle value of a config option
|
||||
* `+toggle+`: przełącza wartość opcji konfiguracyjnej
|
||||
|
||||
----
|
||||
/toggle <option> [<value> [<value>...]]
|
||||
/toggle <opcja> [<wartość> [<wartość>...]]
|
||||
|
||||
option: name of an option
|
||||
value: possible values for the option (values are split like the shell command arguments: quotes can be used to preserve spaces at the beginning/end of values)
|
||||
opcja: nazwa opcji
|
||||
vartość: możliwe wartości dla opcji (wartości są dzielone jak argumenty komendy powłoki: można użyć cudzysłowów żeby zachować spacje na początku/końcu wartości)
|
||||
|
||||
Behavior:
|
||||
- only an option of type boolean or string can be toggled without a value:
|
||||
- boolean: toggle between on/off according to current value
|
||||
- string: toggle between empty string and default value (works only if empty string is allowed for the option)
|
||||
- with a single value given, toggle between this value and the default value of option
|
||||
- with multiple values given, toggle between these values: the value used is the one following the current value of option; if the current value of option is not in list, the first value in the list is used
|
||||
- the special value "null" can be given, but only as first value in the list and without quotes around.
|
||||
Zachowanie:
|
||||
- tylko opcje typu boolowskiego lub ciągi mogą być przełączane bez wartości:
|
||||
- boolowskie: przełączanie pomiędzy włączony/wyłączony zgodnie z obecną wartością
|
||||
- ciąg: przełącza między pustym ciągiem a domyślną wartością (działa tylko jeśli pusty ciąg może być użyty jako wartość opcji)
|
||||
- jeśli podano pojedynczą wartość, przełącza między nią a wartością domyślną dla danej opcji
|
||||
- jeśli podano wiele wartości, przełącza pomiędzy nimi; użyta wartość jest jedną z obecnych wartości dla opcji; jeśli obecna wartość nie znajduje się na liście, użyta zostanie pierwsza wartość z listy
|
||||
- specjalna wartość "null" może zostać podana, ale tylko jako pierwsza wartość na liście, bez cudzysłowów.
|
||||
|
||||
Examples:
|
||||
toggle display of time in chat area (without displaying the new value used):
|
||||
Przykłady:
|
||||
przełącza wyświetlanie czasu w obszarze czatu (bez wyświetlania nowej, użytej wartości):
|
||||
/mute /toggle weechat.look.buffer_time_format
|
||||
switch format of time in chat area (with seconds, without seconds, disabled):
|
||||
przełącza format czasu w obszarze czatu (z sekundami, bez sekund, wyłączone):
|
||||
/toggle weechat.look.buffer_time_format "%H:%M:%S" "%H:%M" ""
|
||||
toggle autojoin of #weechat channel on libera server:
|
||||
przełącza automatyczne dołączenie do kanału #weechat na serwerze libera:
|
||||
/toggle irc.server.libera.autojoin null #weechat
|
||||
----
|
||||
|
||||
|
||||
@@ -1847,43 +1847,43 @@
|
||||
|
||||
// tag::typing_options[]
|
||||
* [[option_typing.look.delay_purge_paused]] *typing.look.delay_purge_paused*
|
||||
** opis: pass:none[number of seconds after paused status has been set: if reached, the typing status is removed]
|
||||
** opis: pass:none[ilość sekund po ustawieniu statusu pauzy: jeśli osiągnięty, status pisania zostaje usunięty]
|
||||
** typ: liczba
|
||||
** wartości: 1 .. 2147483647
|
||||
** domyślna wartość: `+30+`
|
||||
|
||||
* [[option_typing.look.delay_purge_typing]] *typing.look.delay_purge_typing*
|
||||
** opis: pass:none[number of seconds after typing status has been set: if reached, the typing status is removed]
|
||||
** opis: pass:none[ilość sekund po ustawieniu statusu o pisaniu: jeśli osiągnięte, status pisania zostaje usunięty]
|
||||
** typ: liczba
|
||||
** wartości: 1 .. 2147483647
|
||||
** domyślna wartość: `+6+`
|
||||
|
||||
* [[option_typing.look.delay_set_paused]] *typing.look.delay_set_paused*
|
||||
** opis: pass:none[number of seconds after typing last char: if reached, the typing status becomes "paused" and no more typing signals are sent]
|
||||
** opis: pass:none[ilość sekund po napisaniu ostatniego znaku: jeśli osiągnięte, status pisania zmieni się na "paused" i kolejne sygnały nie będą wysyłane]
|
||||
** typ: liczba
|
||||
** wartości: 1 .. 2147483647
|
||||
** domyślna wartość: `+10+`
|
||||
|
||||
* [[option_typing.look.enabled_nicks]] *typing.look.enabled_nicks*
|
||||
** opis: pass:none[typing enabled for other nicks (display typing info for nicks typing in the current buffer)]
|
||||
** opis: pass:none[powiadomienia o pisaniu przez innych włączone (wyświetlaj informacje o tym że inne osoby piszą coś w obecnym buforze)]
|
||||
** typ: bool
|
||||
** wartości: on, off
|
||||
** domyślna wartość: `+off+`
|
||||
|
||||
* [[option_typing.look.enabled_self]] *typing.look.enabled_self*
|
||||
** opis: pass:none[typing enabled for self messages (send typing info to other users)]
|
||||
** opis: pass:none[wysylanie informacji o pisaniu włączone (wysyłaj tą informację do innych użytkowników)]
|
||||
** typ: bool
|
||||
** wartości: on, off
|
||||
** domyślna wartość: `+off+`
|
||||
|
||||
* [[option_typing.look.input_min_chars]] *typing.look.input_min_chars*
|
||||
** opis: pass:none[min number of chars in message to trigger send of typing signals]
|
||||
** opis: pass:none[minimalna ilość znaków w wiadomości po której zostaną wysłane sygnały o pisaniu wiadomości]
|
||||
** typ: liczba
|
||||
** wartości: 1 .. 2147483647
|
||||
** domyślna wartość: `+4+`
|
||||
|
||||
* [[option_typing.look.item_max_length]] *typing.look.item_max_length*
|
||||
** opis: pass:none[max number of chars displayed in the bar item "typing" (0 = do not truncate content)]
|
||||
** opis: pass:none[maksymalna ilość znaków wyświetlana w elemencie paska "typing" (0 = nie ograniczaj zawartości)]
|
||||
** typ: liczba
|
||||
** wartości: 0 .. 2147483647
|
||||
** domyślna wartość: `+0+`
|
||||
@@ -2565,13 +2565,13 @@
|
||||
** domyślna wartość: `+off+`
|
||||
|
||||
* [[option_irc.look.typing_status_nicks]] *irc.look.typing_status_nicks*
|
||||
** opis: pass:none[display nicks typing on the channel in bar item "typing" (option typing.look.enabled_nicks must be enabled and capability "message-tags" must be enabled on the server)]
|
||||
** opis: pass:none[wyświetlaj nicki osób, które coś piszą w elemencie paska "typing" (opcja typing.look.enabled_nicks musi zostać włączona i opcja "message-tags" musi być wspierana przez serwer)]
|
||||
** typ: bool
|
||||
** wartości: on, off
|
||||
** domyślna wartość: `+off+`
|
||||
|
||||
* [[option_irc.look.typing_status_self]] *irc.look.typing_status_self*
|
||||
** opis: pass:none[send self typing status to channels so that other users see when you are typing a message (option typing.look.enabled_self must be enabled and capability "message-tags" must be enabled on the server)]
|
||||
** opis: pass:none[wyślij status pisania do kanałów tak, że inni użytkownicy będą mogli zobaczyć, kiedy piszesz wiadomość (opcja typing.look.enabled_self musi zostać włączona i opcja "message-tags" musi być wspierana przez serwer)]
|
||||
** typ: bool
|
||||
** wartości: on, off
|
||||
** domyślna wartość: `+off+`
|
||||
|
||||
@@ -8,17 +8,15 @@
|
||||
*--daemon*::
|
||||
Uruchamia WeeChat w tle jako demona (działa tylko z komendą *weechat-headless*).
|
||||
|
||||
// TRANSLATION MISSING
|
||||
*--stdout*::
|
||||
Display log messages on standard output instead of writing them in log file
|
||||
(works only with the command *weechat-headless*, not compatible with option
|
||||
"--daemon").
|
||||
Wyświetla informacje z logów na standardowe wyjście zamiast zapisywać je do
|
||||
pliku z logami (działa tylko z opcją *weechat-headless*, nie kompatybilne z
|
||||
opcją "--daemon").
|
||||
|
||||
// TRANSLATION MISSING
|
||||
*-d*, *--dir* _<ścieżka>_::
|
||||
Force a single directory for all WeeChat files (directory is created if not found).
|
||||
Four directories can be given, separated by colons (in this order: config,
|
||||
data, cache, runtime).
|
||||
Wymusza użycie wskazanego katalogu na wszyskie pliki WeeChat (katalog zostanie
|
||||
utworzony jeśli nie istnieje). Można podać cztery katalogi oddzielając
|
||||
je dwukropkami (w kolejności: config, data, cache, runtime).
|
||||
Jeśli ta opcja nie zostanie podada, użyta zostanie zawartość zmiennej
|
||||
WEECHAT_HOME (jeśli została ustawiona).
|
||||
|
||||
|
||||
@@ -525,10 +525,9 @@ Możesz po prostu wyłączyć tą opcję:
|
||||
[[small_terminal]]
|
||||
=== Jak mogę dostosować wyświetlanie do bardzo małych terminali (jak 80x25), żeby nie tracić przestrzeni?
|
||||
|
||||
// TRANSLATION MISSING
|
||||
You can remove side bars (buflist and nicklist), change time format to display
|
||||
only hours and minutes, disable alignment of messages and set a char for nick
|
||||
prefix/suffix:
|
||||
Możesz wyłączyć boczne paski (listy buforów i nicków), zmienić format czasu, żeby
|
||||
wyświetlane były tylko godziny i minuty, wyłączyć wyrównywanie wiadomości oraz
|
||||
ustawić prefiks i sufiks nicku:
|
||||
|
||||
----
|
||||
/set buflist.look.enabled off
|
||||
@@ -1090,6 +1089,14 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
Jeśli używasz macOS i pobrany plik ma wielkość 0 bajtów, spróbuj ustawić poniższą
|
||||
zmianną w inicjalizującym powłokę w terminalu lub z linii poleceń przed
|
||||
uruchomieniem WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== Zainstalowałem słowniki aspell w systemie, jak mogę ich użyć bez restartowania WeeChat?
|
||||
|
||||
|
||||
@@ -1,139 +0,0 @@
|
||||
= Poradnik testera WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: pl
|
||||
:toc: left
|
||||
:toc-title: Spis treści
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
|
||||
Tłumaczenie:
|
||||
|
||||
* Krzysztof Korościk <soltys1@gmail.com>, 2009-2016
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Cel
|
||||
|
||||
Wielu wdzięcznych użytkowników pyta nas jak mogą pomóc w rozwoju WeeChat.
|
||||
Najłatwiejszym (a zarazem najtrudniejszym) sposobem jest testowanie!
|
||||
|
||||
Testowanie jest bardzo ważną częścią rozwoju oprogramowania i nie powinno być
|
||||
niedoceniane. Kiedy nowe funkcje są implementowane, powinny zostać przetestowane,
|
||||
ale dla wielu z nich jest za dużo możliwości użycia lub nie są łatwe do
|
||||
za symulowania dlatego programiści nie są wstanie sprawdzić ich wszystkich.
|
||||
|
||||
Na przykład: Powszechnie znana wtyczka od kodowania została wprowadzona w
|
||||
WeeChat 0.2.2: żaden z nas (programistów, współpracowników, testerów) nie
|
||||
używał kanałów ze znakami narodowymi w nazwach, kiedy wersja 0.2.2 została
|
||||
wypuszczona zostaliśmy zalani użytkownikami z Rosji obwiniającymi nas.
|
||||
Gdy będziemy mieli więcej testerów taka sytuacja nie powinna się już zdarzyć
|
||||
w przyszłości.
|
||||
|
||||
Testowanie stabilnej wersji WeeChat jest bezcelowe, ponieważ programiści są
|
||||
zajęci cały czas implementowaniem nowych rzeczy (oraz poprawianiem błędów).
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Przygotuj swój system
|
||||
|
||||
Bardzo nam pomoże, jeśli włączysz linuksowe pliki _core_: jeśli WeeChat zawiesi
|
||||
się Linux zapisze plik zwany _core_. Plik ten zawiera użyteczne informacje
|
||||
pozwalające dokładnie zlokalizować błąd w WeeChat.
|
||||
|
||||
Jeśli korzystasz z powłoki _bash_, dodaj następującą linijkę do _~/.bashrc_:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Pobieranie wersji rozwojowej
|
||||
|
||||
Świeży kod (z najnowszymi błędami i funkcjami) przechowywany jest w repozytorium GIT.
|
||||
|
||||
Możesz się zdecydować na własnoręczne zbudowanie (zalecana metoda):
|
||||
|
||||
* wersja z GIT może być zbudowana i zainstalowana równolegle z wersją stabilną,
|
||||
* nie potrzebujesz uprawnień administratora, oraz nie musisz poświęcać stabilnej
|
||||
wersji WeeChat.
|
||||
|
||||
[[get_sources]]
|
||||
=== Pobierz i zbuduj źródła
|
||||
|
||||
Najpierw stwórz katalog, na przykład _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
Jeśli masz zainstalowanego gita, po prostu sklonuj repozytorium (zalecana
|
||||
metoda):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Później możesz wykonać w tym katalogu `git pull`, aby pobrać najnowsze
|
||||
poprawki.
|
||||
|
||||
Oczywiście możesz pobrać paczkę oznaczoną jako _devel_:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
Do zbudowania źródeł zaleca się CMake:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
Jeśli nie posiadasz CMake, nadal jest możliwe użycie autotools:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Instalowanie pakietów binarnych
|
||||
|
||||
W zależności od dystrybucji Linuksa:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: PKGBUILD z https://aur.archlinux.org/
|
||||
* inne: nie mamy pojęcia! Eheh.
|
||||
|
||||
|
||||
[[run]]
|
||||
== Uruchomienie WeeChat
|
||||
|
||||
Komenda to:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
Jeśli nadal nie śpisz powinieneś ujrzeć znajomy interfejs i chwalić się
|
||||
z posiadania najnowszej możliwej wersji WeeChat. ;)
|
||||
|
||||
Teraz jeśli zaobserwujesz dziwne zachowanie (może sprawiać problemy, ulec awarii
|
||||
lub zagotować Twoje piwo) nie wahaj się wejść na kanał _#weechat_ na serwerze
|
||||
_irc.libera.chat_ i nam o tym opowiedzieć.
|
||||
|
||||
Jeśli wszystko będzie w porządku - też nam o tym powiedz, potrzebujemy Twojej opinii!
|
||||
+1993
-1868
File diff suppressed because it is too large
Load Diff
@@ -122,19 +122,6 @@ if(ENABLE_DOC)
|
||||
add_custom_target(doc-quickstart-sr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.sr.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_quickstart.sr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# tester's guide
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.sr.html
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${ASCIIDOCTOR_ARGS} -o weechat_tester.sr.html ${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.sr.adoc
|
||||
DEPENDS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/weechat_tester.sr.adoc
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Building weechat_tester.sr.html"
|
||||
)
|
||||
add_custom_target(doc-tester-sr ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.sr.html)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat_tester.sr.html DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME})
|
||||
|
||||
# relay protocol
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/weechat_relay_protocol.sr.html
|
||||
|
||||
@@ -29,7 +29,6 @@ EXTRA_DIST = CMakeLists.txt \
|
||||
weechat_scripting.sr.adoc \
|
||||
weechat_faq.sr.adoc \
|
||||
weechat_quickstart.sr.adoc \
|
||||
weechat_tester.sr.adoc \
|
||||
weechat_relay_protocol.sr.adoc \
|
||||
weechat_dev.sr.adoc \
|
||||
includes/autogen_api_completions.sr.adoc \
|
||||
@@ -58,7 +57,6 @@ if DOC
|
||||
weechat_scripting.sr.html \
|
||||
weechat_faq.sr.html \
|
||||
weechat_quickstart.sr.html \
|
||||
weechat_tester.sr.html \
|
||||
weechat_relay_protocol.sr.html \
|
||||
weechat_dev.sr.html
|
||||
doc_install = install-doc
|
||||
@@ -92,10 +90,6 @@ weechat_faq.sr.html: weechat_faq.sr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
weechat_quickstart.sr.html: weechat_quickstart.sr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_quickstart.sr.html $(abs_top_srcdir)/doc/sr/weechat_quickstart.sr.adoc
|
||||
|
||||
# tester's guide
|
||||
weechat_tester.sr.html: weechat_tester.sr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_tester.sr.html $(abs_top_srcdir)/doc/sr/weechat_tester.sr.adoc
|
||||
|
||||
# relay protocol
|
||||
weechat_relay_protocol.sr.html: weechat_relay_protocol.sr.adoc $(abs_top_srcdir)/doc/docinfo.html
|
||||
$(ASCIIDOCTOR) $(ASCIIDOCTOR_ARGS) -a revnumber="$(VERSION)" -o weechat_relay_protocol.sr.html $(abs_top_srcdir)/doc/sr/weechat_relay_protocol.sr.adoc
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|===
|
||||
| Додатак | Име | Опис | Хеш табела (улаз) | Хеш табела (излаз)
|
||||
|
||||
| irc | irc_message_parse | парсирање IRC поруке | „message”: IRC порука, „server”: име сервера (није обавезно) | „tags”: ознаке, „tag_xxx”: неозначена вредност ознаке „xxx” (један кључ по ознаци), „message_without_tags”: поруке без ознака, „nick”: надимак, „user”: корисник, „host”: хост, „command”: команда, „channel”: канал, „arguments”: аргументи (укључујући channel), „text”: текст (на пример, корисничка порука), „pos_command”: индекс „command” поруке („-1” ако „command” није пронађена), „pos_arguments”: индекс „arguments” поруке („-1” ако „arguments” није пронађена), „pos_channel”: индекс „channel” поруке („-1” ако „channel” није пронађена), „pos_text”: индекс „text” поруке („-1” ако „text” није пронађена)
|
||||
| irc | irc_message_parse | парсирање IRC поруке | „message”: IRC порука, „server”: име сервера (није обавезно) | „tags”: ознаке, „tag_xxx”: неозначена вредност ознаке „xxx” (један кључ по ознаци), „message_without_tags”: поруке без ознака, „nick”: надимак, „user”: корисник, „host”: хост, „command”: команда, „channel”: канал, „arguments”: аргументи (укључујући channel), „text”: текст (на пример, корисничка порука), „param1” ... „paramN”: парсирани параметри команде, „num_params”: број парсираних параметара команде, „pos_command”: индекс „command” поруке („-1” ако „command” није пронађена), „pos_arguments”: индекс „arguments” поруке („-1” ако „arguments” није пронађена), „pos_channel”: индекс „channel” поруке („-1” ако „channel” није пронађена), „pos_text”: индекс „text” поруке („-1” ако „text” није пронађена)
|
||||
|
||||
| irc | irc_message_split | подела IRC поруке (подразумевано тако да стане у 512 бајтова) | „message”: IRC порука, „server”: име сервера (није обавезно) | „msg1” ... „msgN”: поруке које се шаљу (без „\r\n” на крају), „args1” ... „argsN”: аргументи порука, „count”: број порука
|
||||
|
||||
|
||||
@@ -1337,81 +1337,81 @@ infolists: исписује инфо о инфолистама
|
||||
/eval [-n|-s] [-d] <израз>
|
||||
[-n] [-d [-d]] -c <израз1> <оператор> <израз2>
|
||||
|
||||
-n: display result without sending it to buffer (debug mode)
|
||||
-s: split expression before evaluating it (many commands can be separated by semicolons)
|
||||
-d: display debug output after evaluation (with two -d: more verbose debug)
|
||||
-c: evaluate as condition: use operators and parentheses, return a boolean value ("0" or "1")
|
||||
expression: expression to evaluate, variables with format ${variable} are replaced (see below); many commands can be separated by semicolons
|
||||
operator: a logical or comparison operator:
|
||||
- logical operators:
|
||||
&& boolean "and"
|
||||
|| boolean "or"
|
||||
- comparison operators:
|
||||
== equal
|
||||
!= not equal
|
||||
<= less or equal
|
||||
< less
|
||||
>= greater or equal
|
||||
> greater
|
||||
=~ is matching POSIX extended regex
|
||||
!~ is NOT matching POSIX extended regex
|
||||
==* is matching mask, case sensitive (wildcard "*" is allowed)
|
||||
!!* is NOT matching mask, case sensitive (wildcard "*" is allowed)
|
||||
=* is matching mask, case insensitive (wildcard "*" is allowed)
|
||||
!* is NOT matching mask, case insensitive (wildcard "*" is allowed)
|
||||
==- is included, case sensitive
|
||||
!!- is NOT included, case sensitive
|
||||
=- is included, case insensitive
|
||||
!- is NOT included, case insensitive
|
||||
-n: приказује резултат и не шаље га у бафер (дибаг режим)
|
||||
-s: дели израз пре израчунавања (многе команде могу да се раздвоје са тачка зарезима)
|
||||
-d: приказује дибаг излаз након израчунавања (са два -d: детаљнији дибаг)
|
||||
-c: израчунава као услов: користе се оператори и заграде, враћа логичку вредност („0” или „1”)
|
||||
израз: израз који се израчунава, променљиве у формату ${променљива} се замењују (погледајте испод); више команди може да се раздвоји са тачка зарезима
|
||||
оператор: логички или оператор поређења:
|
||||
- логички оператори:
|
||||
&& логичко „и”
|
||||
|| логичко „или”
|
||||
- оператори поређења:
|
||||
== једнако
|
||||
!= није једнако
|
||||
<= мање или једнако
|
||||
< мање
|
||||
>= веће или једнако
|
||||
> веће
|
||||
=~ подудара се са POSIX проширеним регуларним изразом
|
||||
!~ НЕ подудара се са POSIX проширеним регуларним изразом
|
||||
==* је маска подударања, разликује величину слова (дозвољен је џокер „*”)
|
||||
!!* НИЈЕ маска подударања, разликује величину слова (дозвољен је џокер „*”)
|
||||
=* је маска подударања, не разликује величину слова (дозвољен је џокер „*”)
|
||||
!* НИЈЕ маска подударања, не разликује величину слова (дозвољен је џокер „*”)
|
||||
==- је укључено, разликује величину слова
|
||||
!!- НИЈЕ укључено, разликује величину слова
|
||||
=- је укључено, не разликује величину слова
|
||||
!- НИЈЕ укључено, не разликује величину слова
|
||||
|
||||
An expression is considered as "true" if it is not NULL, not empty, and different from "0".
|
||||
The comparison is made using floating point numbers if the two expressions are valid numbers, with one of the following formats:
|
||||
- integer (examples: 5, -7)
|
||||
- floating point number (examples: 5.2, -7.5, 2.83e-2)
|
||||
- hexadecimal number (examples: 0xA3, -0xA3)
|
||||
To force a string comparison, you can add double quotes around each expression, for example:
|
||||
Сматра се да је израз „true” ако није NULL, није празан и различит је од „0”.
|
||||
Поређење се врши употребом бројева у покретном зарезу ако су два израза важећи бројеви, у једном од следећих формата:
|
||||
- целобројни (примери: 5, -7)
|
||||
- број у покретном зарезу (примери: 5.2, -7.5, 2.83e-2)
|
||||
- хексадецимални број (примери: 0xA3, -0xA3)
|
||||
Ако желите да форсирате поређење стрингова, можете да додате знаке навода око сваког израза, на пример:
|
||||
50 > 100 ==> 0
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
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 with chars to hide (format: "hide:char,string")
|
||||
7. a string with max chars (format: "cut:max,suffix,string" or "cut:+max,suffix,string")
|
||||
or max chars displayed on screen (format: "cutscr:max,suffix,string" or "cutscr:+max,suffix,string")
|
||||
8. a reversed string (format: "rev:xxx" or "revscr:xxx")
|
||||
9. a repeated string (format: "repeat:count,string")
|
||||
10. length of a string (format: "length:xxx" or "lengthscr:xxx")
|
||||
11. split of a string (format: "split:number,separators,flags,xxx")
|
||||
12. split of shell argmuents (format: "split_shell:number,xxx")
|
||||
13. a color (format: "color:xxx", see "Plugin API reference", function "color")
|
||||
14. a modifier (format: "modifier:name,data,string")
|
||||
15. an info (format: "info:name,arguments", arguments are optional)
|
||||
16. a base 16/32/64 encoded/decoded string (format: "base_encode:base,xxx" or "base_decode:base,xxx")
|
||||
17. current date/time (format: "date" or "date:format")
|
||||
18. an environment variable (format: "env:XXX")
|
||||
19. a ternary operator (format: "if:condition?value_if_true:value_if_false")
|
||||
20. result of an expression with parentheses and operators + - * / // % ** (format: "calc:xxx")
|
||||
21. a random integer number (format: "random:min,max")
|
||||
22. a translated string (format: "translate:xxx")
|
||||
23. define a user variable (format: "define:name,value")
|
||||
24. an option (format: "file.section.option")
|
||||
25. a local variable in buffer
|
||||
26. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
Format for hdata can be one of following:
|
||||
hdata.var1.var2...: start with a hdata (pointer must be known), and ask variables one after one (other hdata can be followed)
|
||||
hdata[list].var1.var2...: start with a hdata using a list/pointer/pointer name, for example:
|
||||
${buffer[gui_buffers].full_name}: full name of first buffer in linked list of buffers
|
||||
${plugin[weechat_plugins].name}: name of first plugin in linked list of plugins
|
||||
hdata[pointer].var1.var2...: start with a hdata using a pointer, for example:
|
||||
${buffer[0x1234abcd].full_name}: full name of the buffer with this pointer (can be used in triggers)
|
||||
${buffer[my_pointer].full_name}: full name of the buffer with this pointer name (can be used in triggers)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
У изразима се замењују неке променљиве, користећи формат ${променљива}, променљива може да буде, према редоследу приоритета:
|
||||
1. сам стринг без израчунавања (формат: „raw:xxx”)
|
||||
2. кориснички дефинисана променљива (формат: „име”)
|
||||
3. израчунати под-стринг (формат: „eval:xxx”)
|
||||
4. израчунати услов (формат: „eval_cond:xxx”)
|
||||
5. стринг са означеним карактерима (формат: „esc:xxx” или „\xxx”)
|
||||
6. стринг са карактерима за сакривање (формат: „hide:кар,стринг”)
|
||||
7. стринг са највише карактера (формат: „cut:макс,суфикс,стринг” или „cut:+макс,суфикс,стринг")
|
||||
или макс број карактера који се приказује на екрану (формат: „cutscr:макс,суфикс,стринг” или „cutscr:+макс,суфикс,стринг”)
|
||||
8. обрнути стринг (формат: „rev:xxx” или „revscr:xxx”)
|
||||
9. поновљени стринг (формат: „repeat:број,стринг”)
|
||||
10. дужина стринга (формат: „length:xxx” или „lengthscr:xxx”)
|
||||
11. подела стринга (формат: „split:број,сепаратори,заставице,xxx”)
|
||||
12. подела аргумената љуске (формат: „split_shell:број,xxx”)
|
||||
13. боја (формат: „color:xxx”, погледајте „Референтни приручник API додатака”, функција „color”)
|
||||
14. модификатор (формат: „modifier:име,подаци,стринг”)
|
||||
15. инфо (формат: „info:име,аргументи”, аргументи нису обавезни)
|
||||
16. base 16/32/64 шифриран/дешифрован стринг (формат: „base_encode:основа,xxx” или „base_decode:основа,xxx”)
|
||||
17. текући датум/време (формат: „date” или „date:формат”)
|
||||
18. променљива окружења (формат: „env:XXX”)
|
||||
19. тернарни оператор (формат: „if:услов?вредност_ако_је_тачно:вредност_ако_је_нетачно”)
|
||||
20. резултат израза са заградама и операторима + - * / // % ** (формат: „calc:xxx”)
|
||||
21. случајни целобројни број (формат: „random:мин,макс”)
|
||||
22. преведени стринг (формат: „translate:xxx”)
|
||||
23. дефиниција корисничке промонљиве (формат: „define:име,вредност”)
|
||||
24. опција (формат: „фајл.секција.опција”)
|
||||
25. локална променљива у баферу
|
||||
26. hdata име/променљива (вредност се аутоматски конвертује у стринг), „window” и „buffer” подразумевано показују на текући прозор/бафер.
|
||||
Формат за hdata може да буде једно од следећег:
|
||||
hdata.пром1.пром2...: почиње са hdata (показивач мора да буде познат), и пита променљиве једну за другом (могу да следе и остала hdata)
|
||||
hdata[листа].пром1.пром2...: почиње са hdata користећи листу/показивач/име показивача, на пример:
|
||||
${buffer[gui_buffers].full_name}: пуно име првог бафера у увезаној листи бафера
|
||||
${plugin[weechat_plugins].name}: име првог бафера у увезаној листи додатака
|
||||
hdata[показивач].пром1.пром2...: почиње са hdata користећи показивач, на пример:
|
||||
${buffer[0x1234abcd].full_name}: пуно име бафера са овим показивачем (може да се користи у окидачима)
|
||||
${buffer[my_pointer].full_name}: пуно име бафера са овим именом показивача (може да се користи у окидачима)
|
||||
У вези имена hdata и променљивих, молим вас да погледате „Референтни приручник API додатака”, функцију „weechat_hdata_get”.
|
||||
|
||||
Examples (simple strings):
|
||||
Примери (једноставни стрингови):
|
||||
/eval -n ${raw:${info:version}} ==> ${info:version}
|
||||
/eval -n ${eval_cond:${window.win_width}>100} ==> 1
|
||||
/eval -n ${info:version} ==> 0.4.3
|
||||
@@ -1446,7 +1446,7 @@ Examples (simple strings):
|
||||
/eval -n ${translate:Plugin} ==> Extension
|
||||
/eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8
|
||||
|
||||
Examples (conditions):
|
||||
Примери (услови):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
/eval -n -c ${window.win_width} > 100 ==> 1
|
||||
/eval -n -c (8 > 12) || (5 > 2) ==> 1
|
||||
@@ -1746,28 +1746,28 @@ disable: искључује миша
|
||||
* `+plugin+`: приказ/учитавање/уклањање додатака
|
||||
|
||||
----
|
||||
/plugin list [-o|-ol|-i|-il|<name>]
|
||||
listfull [<name>]
|
||||
load <filename> [<arguments>]
|
||||
autoload [<arguments>]
|
||||
reload [<name>|* [<arguments>]]
|
||||
unload [<name>]
|
||||
/plugin list| [-o|-ol|-i|-il|<име>]
|
||||
listfull [<име>]
|
||||
load <имефајла> [<аргументи>]
|
||||
autoload [<аргументи>]
|
||||
reload [<име>|* [<аргументи>]]
|
||||
unload [<име>]
|
||||
|
||||
list: list loaded plugins
|
||||
-o: send list of loaded plugins to buffer (string in English)
|
||||
-ol: send list of loaded plugins to buffer (translated string)
|
||||
-i: copy list of loaded plugins in command line (for sending to buffer) (string in English)
|
||||
-il: copy list of loaded plugins in command line (for sending to buffer) (translated string)
|
||||
name: a plugin name
|
||||
listfull: list loaded plugins (verbose)
|
||||
load: load a plugin
|
||||
filename: plugin (file) to load
|
||||
arguments: arguments given to plugin on load
|
||||
autoload: autoload plugins in system or user directory
|
||||
reload: reload a plugin (if no name given, unload all plugins, then autoload plugins)
|
||||
unload: unload a plugin (if no name given, unload all plugins)
|
||||
list: испис учитаних додатака
|
||||
-o: слање листе учитаних додатака у бафер (стринг на енглеском)
|
||||
-ol: слање листе учитаних додатака у бафер (преведени стринг)
|
||||
-i: копирање листе учитаних додатака у командну линију (за слање у бафер) (стринг на енглеском)
|
||||
-il: копирање листе учитаних додатака у командну линију (за слање у бафер) (преведени стринг)
|
||||
име: име додатка
|
||||
listfull: испис учитаних додатака (детаљно)
|
||||
load: учитавање додатка
|
||||
имефајла: додатак (фајл) који треба да се учита
|
||||
аргументи: аргументи који се прослеђују додатку приликом учитавања
|
||||
autoload: аутоматско учитавање додатака у системском или корисничком директоријуму
|
||||
reload: поновно учитавање додатка (ако се не наведе име, уклањају се сви додаци, па се затим аутоматски учитавају)
|
||||
unload: уклањање додатка (ако се не наведе име, уклањају се сви додаци)
|
||||
|
||||
Without argument, this command lists loaded plugins.
|
||||
Без аргумента, ова команда исписује учитане додатке.
|
||||
----
|
||||
|
||||
[[command_weechat_print]]
|
||||
@@ -1994,28 +1994,28 @@ passphrase: измена тајне реченице (без passphrase, под
|
||||
----
|
||||
|
||||
[[command_weechat_toggle]]
|
||||
* `+toggle+`: toggle value of a config option
|
||||
* `+toggle+`: пребацује вредност опције конфигурације
|
||||
|
||||
----
|
||||
/toggle <option> [<value> [<value>...]]
|
||||
/toggle <опција> [<вредност> [<вредност>...]]
|
||||
|
||||
option: name of an option
|
||||
value: possible values for the option (values are split like the shell command arguments: quotes can be used to preserve spaces at the beginning/end of values)
|
||||
опција: име опције
|
||||
вредност: могуће вредности опције (вредности се деле као аргументи команде у љусци: на почетку/крају вредности могу да се користе знаци навода којима се очувавају размаци)
|
||||
|
||||
Behavior:
|
||||
- only an option of type boolean or string can be toggled without a value:
|
||||
- boolean: toggle between on/off according to current value
|
||||
- string: toggle between empty string and default value (works only if empty string is allowed for the option)
|
||||
- with a single value given, toggle between this value and the default value of option
|
||||
- with multiple values given, toggle between these values: the value used is the one following the current value of option; if the current value of option is not in list, the first value in the list is used
|
||||
- the special value "null" can be given, but only as first value in the list and without quotes around.
|
||||
Понашање:
|
||||
- без вредности је могуће пребацивање само опције типа логичка или стринг:
|
||||
- логичка: пребацује између укључено/искључено зависно од тренутне вредности
|
||||
- стринг: пребацује између празног стринга и подразумеване вредности (ради само ако је за вредност опције дозвољен празан стринг)
|
||||
- са датом једном вредности, пребацује између те вредности и подразумеване вредности опције
|
||||
- са више датих вредности, пребацује између тих вредности: вредност која се користи је она која следи након текуће вредности опције; ако се текућа вредност опције не налази у листи, користи се прва вредност у листи
|
||||
- може да се наведе специјална вредност „null”, али само као прва вредност у листи и око ње нема знакова навода.
|
||||
|
||||
Examples:
|
||||
toggle display of time in chat area (without displaying the new value used):
|
||||
Примери:
|
||||
пребацивање приказа времена у простору за чет (без бриказа нове вредности која се користи):
|
||||
/mute /toggle weechat.look.buffer_time_format
|
||||
switch format of time in chat area (with seconds, without seconds, disabled):
|
||||
промена формата времена у простору за чет (са секундама, без секунди, искључено):
|
||||
/toggle weechat.look.buffer_time_format "%H:%M:%S" "%H:%M" ""
|
||||
toggle autojoin of #weechat channel on libera server:
|
||||
пребацивање аутоматског приступа каналу #weechat на libera серверу:
|
||||
/toggle irc.server.libera.autojoin null #weechat
|
||||
----
|
||||
|
||||
|
||||
+103
-101
@@ -389,60 +389,61 @@ WeeChat „језгро” се налази у следећим директо
|
||||
|
||||
[width="100%", cols="2m,3", options="header"]
|
||||
|===
|
||||
| Путања/фајл | Опис
|
||||
| tests/ | Корен тестова.
|
||||
| tests.cpp | Програм који се користи за извршавање свих тестова.
|
||||
| scripts/ | Корен тестова за API скриптовања.
|
||||
| test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|
||||
| python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|
||||
| testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|
||||
| testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|
||||
| unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|
||||
| unit/ | Корен unit тестова.
|
||||
| test-plugins.cpp | Тестови: plugins.
|
||||
| core/ | Корен unit тестова језгра.
|
||||
| test-core-arraylist.cpp | Тестови: arraylists.
|
||||
| test-core-calc.cpp | Тестови: калкулација израза.
|
||||
// TRANSLATION MISSING
|
||||
| test-core-config-file.cpp | Tests: configuration files.
|
||||
| test-core-crypto.cpp | Тестови: криптографске функције.
|
||||
| test-core-dir.cpp | Тестови: функције директоријума/фајла.
|
||||
| test-core-eval.cpp | Тестови: израчунавање израза.
|
||||
| test-core-hashtble.cpp | Тестови: hashtables.
|
||||
| test-core-hdata.cpp | Тестови: hdata.
|
||||
| test-core-hook.cpp | Тестови: куке.
|
||||
| test-core-infolist.cpp | Тестови: infolists.
|
||||
| test-core-list.cpp | Тестови: листе.
|
||||
| test-core-network.cpp | Тестови: мрежне функције.
|
||||
| test-core-secure.cpp | Тестови: обезбеђени подаци.
|
||||
| test-core-signal.cpp | Тестови: сигнали.
|
||||
| test-core-string.cpp | Тестови: стрингови.
|
||||
| test-core-url.cpp | Тестови: URL адресе.
|
||||
| test-core-utf8.cpp | Тестови: UTF-8.
|
||||
| test-core-util.cpp | Тестови: помоћне функције.
|
||||
| gui/ | Корен unit тестова интерфејса.
|
||||
| test-gui-color.cpp | Тестови: боје.
|
||||
| test-gui-line.cpp | Тестови: линије.
|
||||
| test-gui-nick.cpp | Тестови: надимци.
|
||||
| plugins/ | Корен unit тестова додатака.
|
||||
| irc/ | Корен unit тестова IRC додатка.
|
||||
| test-irc-channel.cpp | Тестови: IRC канали.
|
||||
| test-irc-color.cpp | Тестови: IRC боје.
|
||||
| test-irc-config.cpp | Тестови: IRC конфигурација.
|
||||
| test-irc-ignore.cpp | Тестови: IRC игнорисања.
|
||||
| test-irc-message.cpp | Тестови: IRC поруке.
|
||||
| test-irc-mode.cpp | Тестови: IRC режими.
|
||||
| test-irc-nick.cpp | Тестови: IRC надимци.
|
||||
| test-irc-protocol.cpp | Тестови: IRC протокол.
|
||||
| test-irc-server.cpp | Тестови: IRC сервер.
|
||||
| trigger/ | Корен unit тестова за окидач додатак.
|
||||
| test-trigger.cpp | Тестови: окидачи.
|
||||
| typing/ | Корен unit тестова за typing додатак.
|
||||
| test-typing.cpp | Тестови: typing.
|
||||
| test-typing-status.cpp | Тестови: typing статус.
|
||||
| relay/ | Корен unit тестова за Релеј додатак.
|
||||
| test-relay-auth.cpp | Тестови: аутентификација клијената.
|
||||
|
||||
| Путања/фајл | Опис
|
||||
| tests/ | Корен тестова.
|
||||
| tests.cpp | Програм који се користи за извршавање свих тестова.
|
||||
| scripts/ | Корен тестова за API скриптовања.
|
||||
| test-scripts.cpp | Програм који се користи за извршавање тестова API скриптовања.
|
||||
| python/ | Python скрипте које генеришу и покрећу тестове API скриптовања.
|
||||
| testapigen.py | Python скрипта која генерише скрипте на свим језицима за тестирање API скриптовања.
|
||||
| testapi.py | Python скрипта са тестовима API скриптовања, користи је скрипта testapigen.py.
|
||||
| unparse.py | Конверзија Python кода у остале језике, користи је скрипта testapigen.py.
|
||||
| unit/ | Корен unit тестова.
|
||||
| test-plugins.cpp | Тестови: plugins.
|
||||
| core/ | Корен unit тестова језгра.
|
||||
| test-core-arraylist.cpp | Тестови: arraylists.
|
||||
| test-core-calc.cpp | Тестови: калкулација израза.
|
||||
| test-core-config-file.cpp | Тестови: конфигурациони фајлови.
|
||||
| test-core-crypto.cpp | Тестови: криптографске функције.
|
||||
| test-core-dir.cpp | Тестови: функције директоријума/фајла.
|
||||
| test-core-eval.cpp | Тестови: израчунавање израза.
|
||||
| test-core-hashtble.cpp | Тестови: hashtables.
|
||||
| test-core-hdata.cpp | Тестови: hdata.
|
||||
| test-core-hook.cpp | Тестови: куке.
|
||||
| test-core-infolist.cpp | Тестови: infolists.
|
||||
| test-core-list.cpp | Тестови: листе.
|
||||
| test-core-network.cpp | Тестови: мрежне функције.
|
||||
| test-core-secure.cpp | Тестови: обезбеђени подаци.
|
||||
| test-core-signal.cpp | Тестови: сигнали.
|
||||
| test-core-string.cpp | Тестови: стрингови.
|
||||
| test-core-url.cpp | Тестови: URL адресе.
|
||||
| test-core-utf8.cpp | Тестови: UTF-8.
|
||||
| test-core-util.cpp | Тестови: помоћне функције.
|
||||
| gui/ | Корен unit тестова интерфејса.
|
||||
| test-gui-color.cpp | Тестови: боје.
|
||||
| test-gui-line.cpp | Тестови: линије.
|
||||
| test-gui-nick.cpp | Тестови: надимци.
|
||||
| plugins/ | Корен unit тестова додатака.
|
||||
| irc/ | Корен unit тестова IRC додатка.
|
||||
| test-irc-buffer.cpp | Тестови: IRC бафери.
|
||||
| test-irc-channel.cpp | Тестови: IRC канали.
|
||||
| test-irc-color.cpp | Тестови: IRC боје.
|
||||
| test-irc-config.cpp | Тестови: IRC конфигурација.
|
||||
| test-irc-ignore.cpp | Тестови: IRC игнорисања.
|
||||
| test-irc-message.cpp | Тестови: IRC поруке.
|
||||
| test-irc-mode.cpp | Тестови: IRC режими.
|
||||
| test-irc-nick.cpp | Тестови: IRC надимци.
|
||||
| test-irc-protocol.cpp | Тестови: IRC протокол.
|
||||
| test-irc-sasl.cpp | Тестови: SASL аутентификација са IRC протоколом.
|
||||
| test-irc-server.cpp | Тестови: IRC сервер.
|
||||
| trigger/ | Корен unit тестова за окидач додатак.
|
||||
| test-trigger.cpp | Тестови: окидачи.
|
||||
| test-trigger-config.cpp | Тестови: конфигурација окидача.
|
||||
| typing/ | Корен unit тестова за typing додатак.
|
||||
| test-typing.cpp | Тестови: typing.
|
||||
| test-typing-status.cpp | Тестови: typing статус.
|
||||
| relay/ | Корен unit тестова за Релеј додатак.
|
||||
| test-relay-auth.cpp | Тестови: аутентификација клијената.
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -464,7 +465,6 @@ WeeChat „језгро” се налази у следећим директо
|
||||
| weechat_quickstart.XX.adoc | link:weechat_quickstart.sr.html[Водич за брзи почетак].
|
||||
| weechat_relay_protocol.XX.adoc | link:weechat_relay_protocol.sr.html[Релеј протокол] (за удаљене интерфејсе).
|
||||
| weechat_scripting.XX.adoc | link:weechat_scripting.sr.html[Водич за скриптовање].
|
||||
| weechat_tester.XX.adoc | link:weechat_tester.sr.html[Водич за тестере].
|
||||
| weechat_user.XX.adoc | link:weechat_user.sr.html[Корисничко упутство].
|
||||
| includes/ | Фајлови укључени у документацију.
|
||||
| autogen_api_completions.XX.adoc | Ауто-генерисани фајл за Референцу API додатака: довршавања (*НИКАДА* не ажурирајте ручно!).
|
||||
@@ -869,18 +869,10 @@ struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||
Испред свих атрибута/боја се налази карактер у стрингу који може бити:
|
||||
|
||||
* _0x19_: кôд боје (иза кога следи кôд (или више њих) боје))
|
||||
* _0x1A_: постави атрибут (иза кога следи атрибут као један карактер)
|
||||
* _0x1B_: уклони атрибут (иза кога следи атрибут као један карактер)
|
||||
* _0x1A_: постављање атрибута (након којег следи један карактер сировог атрибута)
|
||||
* _0x1B_: уклањање атрибута (након којег следи један карактер сировог атрибута)
|
||||
* _0x1C_: ресет (нема ништа иза)
|
||||
|
||||
Дозвољени су атрибути (један или више карактера):
|
||||
|
||||
* `+*+`: подебљано
|
||||
* `+!+`: обрнуто
|
||||
* `+/+`: курзив
|
||||
* `+_+`: подвучено
|
||||
* `+|+`: задржавају се постојећи атрибути
|
||||
|
||||
Могуће су следеће боје:
|
||||
|
||||
* стандардна боја: необавезни атрибути + двоцифрени број
|
||||
@@ -889,45 +881,55 @@ struct t_gui_buffer *last_gui_buffer = NULL; /* last buffer */
|
||||
У следећој табели се подразумева следеће:
|
||||
|
||||
* `СТД`: стандардна боја (2 цифре)
|
||||
* `(А)СТД`: стандардна боја са необавезним атрибутима (атрибути + 2 цифре)
|
||||
* `(ATTR)СТД`: стандардна боја са необавезним атрибутима (атрибути + 2 цифре)
|
||||
* `ПРО`: проширена боја (`+@+` + 5 цифара)
|
||||
* `(A)ПРО`: проширена боја са необавезним атрибутима (`+@+` + атрибути + 5 цифара)
|
||||
* `АТР`: један карактер атрибута (`+*+`, `+!+`, `+/+`, `+_+` или `+|+`)
|
||||
* `(ATTR)ПРО`: проширена боја са необавезним атрибутима (`+@+` + атрибути + 5 цифара)
|
||||
* `(ATTR)`: један или више карактера атрибута:
|
||||
** `+*+`: подебљано
|
||||
** `+!+`: обрнуто
|
||||
** `+/+`: курзив
|
||||
** `+_+`: подвучено
|
||||
** `+|+`: задржавају се постојећи атрибути
|
||||
* `(a)`: један сирови карактер атрибута:
|
||||
** _0x01_: подебљано
|
||||
** _0x02_: обрнуто
|
||||
** _0x03_: курзив
|
||||
** _0x04_: подвучено
|
||||
|
||||
У следећој табели су сажете све комбинације:
|
||||
|
||||
[width="100%", cols="4,2,2,8", options="header"]
|
||||
[width="100%", cols="4,3,2,8", options="header"]
|
||||
|===
|
||||
| Кôд | Пример | Површине | Опис
|
||||
| [hex]#19# + СТД | [hex]#19# `+01+` | чет + траке | Постављање атрибута и боје опцијама, погледајте табелу испод.
|
||||
| [hex]#19# + ПРО | [hex]#19# `+@00001+` | chat | Постављање боје са ncurses паром (користи се само у `/color` баферу).
|
||||
| [hex]#19# + "F" + (A)СТД | [hex]#19# `+F*05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + "F" + (A)ПРО | [hex]#19# `+F@00214+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + "B" + СТД | [hex]#19# `+B05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + "B" + ПРО | [hex]#19# `+B@00124+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + "*" + (A)СТД | [hex]#19# `+*05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + "*" + (A)ПРО | [hex]#19# `+*@00214+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + "*" + (A)СТД + "," + СТД ^(1)^ | [hex]#19# `+*08,05+` | чет + траке | Постављање предњег плана/позадине (WeeChat боје).
|
||||
| [hex]#19# + "*" + (A)СТД + "," + ПРО ^(1)^ | [hex]#19# `+*01,@00214+` | чет + траке | Постављање предњег плана (WeeChat боје) у позадине (проширена боја).
|
||||
| [hex]#19# + "*" + (A)ПРО + "," + СТД ^(1)^ | [hex]#19# `+*@00214,05+` | чет + траке | Постављање предњег плана (extended color) и позадине (WeeChat color).
|
||||
| [hex]#19# + "*" + (A)ПРО + "," + ПРО ^(1)^ | [hex]#19# `+*@00214,@00017+` | чет + траке | Постављање предњег плана/позадине (проширене боје).
|
||||
| [hex]#19# + "*" + (A)СТД + "~" + СТД | [hex]#19# `+*08~05+` | чет + траке | Постављање предњег плана/позадине (WeeChat боје).
|
||||
| [hex]#19# + "*" + (A)СТД + "~" + ПРО | [hex]#19# `+*01~@00214+` | чет + траке | Постављање предњег плана (WeeChat color) и позадине (проширена боја).
|
||||
| [hex]#19# + "*" + (A)ПРО + "~" + СТД | [hex]#19# `+*@00214~05+` | чет + траке | Постављање предњег плана (проширена боја) и позадине (WeeChat color).
|
||||
| [hex]#19# + "*" + (A)ПРО + "~" + ПРО | [hex]#19# `+*@00214~@00017+` | чет + траке | Постављање предњег плана/позадине (проширене боје).
|
||||
| [hex]#19# + "b" + "F" | [hex]#19# `+bF+` | траке | Постављање боје предњег плана траке.
|
||||
| [hex]#19# + "b" + "D" | [hex]#19# `+bD+` | траке | Постављање боје граничника траке.
|
||||
| [hex]#19# + "b" + "B" | [hex]#19# `+bB+` | траке | Постављање боје позадине траке.
|
||||
| [hex]#19# + „b” + „_” | [hex]#19# `+b_+` | трака уноса | Почетак уноса карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + „b” + „-” | [hex]#19# `+b-+` | трака уноса | Почетак уноса скривеног карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + „b” + „#” | [hex]#19# `+b#+` | трака уноса | Померање курсор карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + „b” + „i” | [hex]#19# `+bi+` | траке | Почетак ставке.
|
||||
| [hex]#19# + „b” + „l” (мало L) | [hex]#19# `+bl+` | траке | Почетак линије ставке.
|
||||
| [hex]#19# + „E” | [hex]#19# `+E+` | чет + траке | Наглашавање текста _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | чет + траке | Ресет боје (уз задржавање атрибута).
|
||||
| [hex]#1A# + АТР | [hex]#1A# `+*+` | чет + траке | Постављање атрибута.
|
||||
| [hex]#1B# + АТР | [hex]#1B# `+*+` | чет + траке | Уклањање атрибута.
|
||||
| [hex]#1C# | [hex]#1C# | чет + траке | Ресет атрибута и боје.
|
||||
| Кôд | Пример | Површине | Опис
|
||||
| [hex]#19# + `СТД` | [hex]#19# `+01+` | чет + траке | Постављање атрибута и боје опцијама, погледајте табелу испод.
|
||||
| [hex]#19# + `ПРО` | [hex]#19# `+@00001+` | chat | Постављање боје са ncurses паром (користи се само у `/color` баферу).
|
||||
| [hex]#19# + `F` + `(ATTR)СТД` | [hex]#19# `+F*05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + `F` + `(ATTR)ПРО` | [hex]#19# `+F@00214+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + `B` + `СТД` | [hex]#19# `+B05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + `B` + `ПРО` | [hex]#19# `+B@00124+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + `*` + `(ATTR)СТД` | [hex]#19# `+*05+` | чет + траке | Постављање предњег плана (WeeChat боја).
|
||||
| [hex]#19# + `*` + `(ATTR)ПРО` | [hex]#19# `+*@00214+` | чет + траке | Постављање предњег плана (проширена боја).
|
||||
| [hex]#19# + `*` + `(ATTR)СТД` + `,` + `СТД` ^(1)^ | [hex]#19# `+*08,05+` | чет + траке | Постављање предњег плана/позадине (WeeChat боје).
|
||||
| [hex]#19# + `*` + `(ATTR)СТД` + `,` + `ПРО` ^(1)^ | [hex]#19# `+*01,@00214+` | чет + траке | Постављање предњег плана (WeeChat боје) у позадине (проширена боја).
|
||||
| [hex]#19# + `*` + `(ATTR)ПРО` + `,` + `СТД` ^(1)^ | [hex]#19# `+*@00214,05+` | чет + траке | Постављање предњег плана (extended color) и позадине (WeeChat color).
|
||||
| [hex]#19# + `*` + `(ATTR)ПРО` + `,` + `ПРО` ^(1)^ | [hex]#19# `+*@00214,@00017+` | чет + траке | Постављање предњег плана/позадине (проширене боје).
|
||||
| [hex]#19# + `*` + `(ATTR)СТД` + `~` + `СТД` | [hex]#19# `+*08~05+` | чет + траке | Постављање предњег плана/позадине (WeeChat боје).
|
||||
| [hex]#19# + `*` + `(ATTR)СТД` + `~` + `ПРО` | [hex]#19# `+*01~@00214+` | чет + траке | Постављање предњег плана (WeeChat color) и позадине (проширена боја).
|
||||
| [hex]#19# + `*` + `(ATTR)ПРО` + `~` + `СТД` | [hex]#19# `+*@00214~05+` | чет + траке | Постављање предњег плана (проширена боја) и позадине (WeeChat color).
|
||||
| [hex]#19# + `*` + `(ATTR)ПРО` + `~` + `ПРО` | [hex]#19# `+*@00214~@00017+` | чет + траке | Постављање предњег плана/позадине (проширене боје).
|
||||
| [hex]#19# + `b` + `F` | [hex]#19# `+bF+` | траке | Постављање боје предњег плана траке.
|
||||
| [hex]#19# + `b` + `D` | [hex]#19# `+bD+` | траке | Постављање боје граничника траке.
|
||||
| [hex]#19# + `b` + `B` | [hex]#19# `+bB+` | траке | Постављање боје позадине траке.
|
||||
| [hex]#19# + `b` + `_` | [hex]#19# `+b_+` | трака уноса | Почетак уноса карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + `b` + `-` | [hex]#19# `+b-+` | трака уноса | Почетак уноса скривеног карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + `b` + `#` | [hex]#19# `+b#+` | трака уноса | Померање курсор карактера (користи се само у ставки „input_text”).
|
||||
| [hex]#19# + `b` + `i` | [hex]#19# `+bi+` | траке | Почетак ставке.
|
||||
| [hex]#19# + `b` + `l` (мало L) | [hex]#19# `+bl+` | траке | Почетак линије ставке.
|
||||
| [hex]#19# + `E` | [hex]#19# `+E+` | чет + траке | Наглашавање текста _(WeeChat ≥ 0.4.2)_.
|
||||
| [hex]#19# + [hex]#1C# | [hex]#19# [hex]#1C# | чет + траке | Ресет боје (уз задржавање атрибута).
|
||||
| [hex]#1A# + `(a)` | [hex]#1A# [hex]#01# | чет + траке | Постављање атрибута.
|
||||
| [hex]#1B# + `(a)` | [hex]#1B# [hex]#01# | чет + траке | Уклањање атрибута.
|
||||
| [hex]#1C# | [hex]#1C# | чет + траке | Ресет атрибута и боје.
|
||||
|===
|
||||
|
||||
[NOTE]
|
||||
@@ -1159,7 +1161,7 @@ Asciidoc фајлови се налазе у директоријуму _doc/XX/
|
||||
Преводи који недостају у фајловима су назначени следећим стрингом:
|
||||
|
||||
----
|
||||
// TRANSLATION MISSING
|
||||
// TRANSLATION MISSING
|
||||
----
|
||||
|
||||
Морате да преведете комплетан фајл осим линкова и специјалних кључних речи за напомене, упозорења, ... Ове речи морате оставити непреведене:
|
||||
@@ -1175,7 +1177,7 @@ Asciidoc фајлови се налазе у директоријуму _doc/XX/
|
||||
[CAUTION]
|
||||
----
|
||||
|
||||
Када након `<<име_линка>>` постоји име, онда морате да га преведете:
|
||||
Када након `+<<име_линка>>+` постоји име, онда морате да га преведете:
|
||||
|
||||
----
|
||||
<<име_линка,овај текст мора да се преведе>>
|
||||
|
||||
@@ -943,6 +943,15 @@ $ cd ~/.cache/weechat/script
|
||||
$ curl -O https://weechat.org/files/plugins.xml.gz
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
If you're running macOS and the downloaded file has a size of 0 bytes,
|
||||
try to set this variable in your shell initialization file or on command line,
|
||||
before starting WeeChat:
|
||||
|
||||
----
|
||||
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
|
||||
----
|
||||
|
||||
[[spell_dictionaries]]
|
||||
=== Инсталирао сам aspell речнике у свој систем, како могу да их користим без потребе да поново покрећем програм WeeChat?
|
||||
|
||||
|
||||
@@ -556,7 +556,7 @@ _WeeChat ≥ 3.3._
|
||||
|
||||
Прототип:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
char *weechat_string_cut (const char *string, int length, int count_suffix, int screen, const char *cut_suffix);
|
||||
----
|
||||
@@ -575,7 +575,7 @@ char *weechat_string_cut (const char *string, int length, int count_suffix, int
|
||||
|
||||
C пример:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
char *str = weechat_string_cut ("this is a test", 5, 1, 1, "…"); /* result: "this…" */
|
||||
/* ... */
|
||||
@@ -2457,12 +2457,11 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
|
||||
`+${raw:${info:version}}+` |
|
||||
`+${info:version}+`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${name}+` +
|
||||
| `+${име}+` +
|
||||
_(WeeChat ≥ 3.4)_ |
|
||||
User variable (defined with `+${define:name,value}+`). |
|
||||
`+${name}+` |
|
||||
`+value+`
|
||||
Корисничка променљива (дефинисана са `+${define:име,вредност}+`). |
|
||||
`+${име}+` |
|
||||
`+вредност+`
|
||||
|
||||
| `+${име}+` |
|
||||
Променљива `name` из хеш табеле _extra_vars_. |
|
||||
@@ -2572,22 +2571,21 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
|
||||
`+4+` +
|
||||
`+14+`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${split:number,seps,flags,xxx}+` +
|
||||
_(WeeChat ≥ 3.3)_ |
|
||||
Split string, and return, according to `number`: +
|
||||
- `count`: the number of items after split +
|
||||
- `random`: a random item +
|
||||
- integer ≥ 1: the item by index (1 = first item) +
|
||||
- integer ≤ -1: the item by index from the end (-1 = last item, -2 = penultimate item, etc.), +
|
||||
`seps` is a list of chars that are used as separators (if empty, a comma is used), +
|
||||
`flags` is a list of flags separated by `+`: +
|
||||
- `strip_left`: strip separators on the left (beginning of string) +
|
||||
- `strip_right`: strip separators on the right (end of string) +
|
||||
- `collapse_seps`: collapse multiple consecutive separators into a single one +
|
||||
- `keep_eol`: keep end of line for each value +
|
||||
- `strip_items=xyz`: strip chars `x`, `y` and `z` from beginning/end of items +
|
||||
- `max_items=N`: return max N items |
|
||||
Дели стринг и враћа сагласно са `number`: +
|
||||
- `count`: број ставки након поделе +
|
||||
- `random`: произвољну ставку +
|
||||
- цео број ≥ 1: ставку са индексом (1 = прва ставка) +
|
||||
- цео број ≤ -1: ставку са индеком од краја (-1 = последња ставка, -2 = претпоследња ставка, итд.), +
|
||||
`seps` је листа карактера који се користе као граничници (ако је празно, користи се запета), +
|
||||
`flags` је листа заставица раздвојена са `+`: +
|
||||
- `strip_left`: уклања граничнике са леве стране (почетка стринга) +
|
||||
- `strip_right`: уклања граничнике са десне стране (краја стринга) +
|
||||
- `collapse_seps`: стапа више узастопних граничника у један +
|
||||
- `keep_eol`: задржава прелом линије за сваку вредност +
|
||||
- `strip_items=xyz`: уклања карактере `x`, `y` и `z` са почетка/краја ставки +
|
||||
- `max_items=N`: враћа максимално N ставки |
|
||||
`+${split:1,,,abc,def,ghi}+` +
|
||||
`+${split:-1,,,abc,def,ghi}+` +
|
||||
`+${split:count,,,abc,def,ghi}+` +
|
||||
@@ -2607,14 +2605,13 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
|
||||
`+is+` +
|
||||
`+is a test+`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${split_shell:number,xxx}+` +
|
||||
_(WeeChat ≥ 3.3)_ |
|
||||
Split shell arguments, and return, according to `number`: +
|
||||
- `count`: the number of arguments after split +
|
||||
- `random`: a random argument +
|
||||
- integer ≥ 1: the argument by index (1 = first argument) +
|
||||
- integer ≤ -1: the argument by index from the end (-1 = last argument, -2 = penultimate argument, etc.) |
|
||||
Дели аргументе љуске и враћа сагласно са `number`: +
|
||||
- `count`: број аргумената након поделе +
|
||||
- `random`: произвољни аргумент +
|
||||
- цео број ≥ 1: аргумент по индексу (1 = први аргумент) +
|
||||
- цео број ≤ -1: аргумент по индексу од краја (-1 = последњи аргумент, -2 = претпоследњи аргумент, итд.) |
|
||||
`+${split_shell:1,"first arg" arg2}+` +
|
||||
`+${split_shell:-1,"first arg" arg2}+` +
|
||||
`+${split_shell:count,"first arg" arg2}+` +
|
||||
@@ -2755,11 +2752,10 @@ str5 = weechat.string_eval_expression("password=abc password=def", {}, {}, optio
|
||||
`+${translate:Plugin}+` |
|
||||
`+Extension+` (пример из француског)
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `+${define:name,value}+` +
|
||||
_(WeeChat ≥ 3.4)_ |
|
||||
Define a variable `name` set to `value`, which can then be used in the same
|
||||
evaluated expression with `+${name}+`. |
|
||||
Дефинисање променљиве `име` постављене на `вредност`, која онда може да се користи у истом
|
||||
израчунатом изразу са `+${име}+`. |
|
||||
`+${define:len,${calc:5+3}}${len}x${len}+` |
|
||||
`+8x8+`
|
||||
|
||||
@@ -3869,7 +3865,7 @@ _WeeChat ≥ 3.3._
|
||||
|
||||
Прототип:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
int weechat_file_copy (const char *from, const char *to);
|
||||
----
|
||||
@@ -3885,7 +3881,7 @@ int weechat_file_copy (const char *from, const char *to);
|
||||
|
||||
C пример:
|
||||
|
||||
[source,C]
|
||||
[source,c]
|
||||
----
|
||||
if (weechat_file_copy ("/tmp/test.txt", "/path/to/test2.txt"))
|
||||
{
|
||||
@@ -14960,7 +14956,7 @@ if (hashtable_in)
|
||||
weechat_hashtable_set (
|
||||
hashtable_in,
|
||||
"message",
|
||||
"@time=2015-06-27T16:40:35.000Z;tag2=value\\sspace :nick!user@host PRIVMSG #weechat :hello!");
|
||||
"@time=2015-06-27T16:40:35.000Z;tag2=value\\sspace :nick!user@host PRIVMSG #weechat :Hello world!");
|
||||
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
|
||||
hashtable_in);
|
||||
/*
|
||||
@@ -14968,14 +14964,17 @@ if (hashtable_in)
|
||||
* "tags" : "time=2015-06-27T16:40:35.000Z;tag2=value\\sspace"
|
||||
* "tag_time" : "2015-06-27T16:40:35.000Z"
|
||||
* "tag_tag2" : "value space"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :Hello world!"
|
||||
* "nick" : "nick"
|
||||
* "user" : "user"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments" : "#weechat :hello!"
|
||||
* "text" : "hello!"
|
||||
* "arguments" : "#weechat :Hello world!"
|
||||
* "text" : "Hello world!"
|
||||
* "param1" : "#weechat"
|
||||
* "param2" : "Hello world!"
|
||||
* "num_params" : "2"
|
||||
* "pos_command" : "65"
|
||||
* "pos_arguments" : "73"
|
||||
* "pos_channel" : "73"
|
||||
@@ -15856,7 +15855,7 @@ struct t_hdata *hdata = weechat_hdata_new ("myplugin_list", "prev", "next", 0, 0
|
||||
|
||||
==== hdata_new_var
|
||||
|
||||
_WeeChat ≥ 0.3.6, ажурирано у верзији 0.3.9._
|
||||
_WeeChat ≥ 0.3.6, ажурирано у верзијама 0.3.7, 0.3.9, 0.4.3 и 3.4._
|
||||
|
||||
Креира нову променљиву у hdata.
|
||||
|
||||
@@ -15874,15 +15873,15 @@ void weechat_hdata_new_var (struct t_hdata *hdata, const char *name, int offset,
|
||||
* _name_: име променљиве
|
||||
* _offset_: померај променљиве од почетка структуре
|
||||
* _type_: тип променљиве, једно од:
|
||||
** WEECHAT_HDATA_CHAR
|
||||
** WEECHAT_HDATA_INTEGER
|
||||
** WEECHAT_HDATA_LONG
|
||||
** WEECHAT_HDATA_STRING
|
||||
** WEECHAT_HDATA_SHARED_STRING
|
||||
** WEECHAT_HDATA_POINTER
|
||||
** WEECHAT_HDATA_TIME
|
||||
** WEECHAT_HDATA_HASHTABLE
|
||||
** WEECHAT_HDATA_OTHER
|
||||
** _WEECHAT_HDATA_CHAR_
|
||||
** _WEECHAT_HDATA_INTEGER_
|
||||
** _WEECHAT_HDATA_LONG_
|
||||
** _WEECHAT_HDATA_STRING_
|
||||
** _WEECHAT_HDATA_SHARED_STRING_ (_WeeChat ≥ 0.4.3_)
|
||||
** _WEECHAT_HDATA_POINTER_
|
||||
** _WEECHAT_HDATA_TIME_
|
||||
** _WEECHAT_HDATA_HASHTABLE_ (_WeeChat ≥ 0.3.7_)
|
||||
** _WEECHAT_HDATA_OTHER_
|
||||
* _update_allowed_: 1 ако се дозвољава ажурирање променљиве, у супротном 0 _(WeeChat ≥ 0.3.9)_
|
||||
* _array_size_: није NULL само ако је променљива низ, и може бити: _(WeeChat ≥ 0.3.9)_
|
||||
** име променљиве у hdata: ова променљива ће се користити као величина низа (динамичка величина низа)
|
||||
@@ -15890,6 +15889,35 @@ void weechat_hdata_new_var (struct t_hdata *hdata, const char *name, int offset,
|
||||
** _*_: аутоматска величина: величина низа се израчунава гледањем у вредности, када се наиђе на прво NULL (само за тип стринг, показивач или хеш табелу)
|
||||
* _hdata_name_: име hdata (ако је то показивач на структуру са hdata)
|
||||
|
||||
Од WeeChat ≥ 3.4, испред _array_size_ параметра може да се постави `*,` што
|
||||
представља показивач на динамички алоциран низ (без овог префикса, низ се
|
||||
сматра статички).
|
||||
|
||||
Примери променљивих и одговарајуће величине низа (_WeeChat ≥ 3.4_):
|
||||
|
||||
[width="100%",cols="3,3m,2,7",options="header"]
|
||||
|===
|
||||
| Декларација променљиве у C | Hdata тип | Величина низа | Опис
|
||||
|
||||
| `+int *numbers;+` | WEECHAT_HDATA_INTEGER | `+*,2+` |
|
||||
Алоцирани низ од 2 цела броја.
|
||||
|
||||
| `+int *numbers;+` | WEECHAT_HDATA_INTEGER | `+*,array_size+` |
|
||||
Алоцирани низ целих бројева, величина се чува у другој променљивој под називом
|
||||
"array_size".
|
||||
|
||||
| `+int numbers[3];+` | WEECHAT_HDATA_INTEGER | `+3+` |
|
||||
Статички низ од 3 цела броја.
|
||||
|
||||
| `+char **words;+` | WEECHAT_HDATA_STRING | `+*,*+` |
|
||||
Алоцирани низ стрингова, динамичке величине (иза последње речи мора да дође
|
||||
NULL показивач).
|
||||
|
||||
| `+char **words;+` | WEECHAT_HDATA_STRING | `+*,count_words+` |
|
||||
Алоцирани низ стрингова, величина се чува у другој променљивој под називом
|
||||
"count_words".
|
||||
|===
|
||||
|
||||
C пример:
|
||||
|
||||
[source, C]
|
||||
@@ -15898,6 +15926,7 @@ struct t_myplugin_list
|
||||
{
|
||||
char *name;
|
||||
struct t_gui_buffer *buffer;
|
||||
int numbers[3];
|
||||
int tags_count;
|
||||
char **tags_array;
|
||||
char **string_split;
|
||||
@@ -15910,9 +15939,10 @@ struct t_myplugin_list
|
||||
struct t_hdata *hdata = weechat_hdata_new ("myplugin_list", "prev", "next");
|
||||
weechat_hdata_new_var (hdata, "name", offsetof (struct t_myplugin_list, name), WEECHAT_HDATA_STRING, 0, NULL, NULL);
|
||||
weechat_hdata_new_var (hdata, "buffer", offsetof (struct t_myplugin_list, buffer), WEECHAT_HDATA_POINTER, 0, NULL, NULL);
|
||||
weechat_hdata_new_var (hdata, "numbers", offsetof (struct t_myplugin_list, numbers), WEECHAT_HDATA_INTEGER, 0, "3", NULL);
|
||||
weechat_hdata_new_var (hdata, "tags_count", offsetof (struct t_myplugin_list, tags_count), WEECHAT_HDATA_INTEGER, 0, NULL, NULL);
|
||||
weechat_hdata_new_var (hdata, "tags_array", offsetof (struct t_myplugin_list, tags_array), WEECHAT_HDATA_STRING, 0, "tags_count", NULL);
|
||||
weechat_hdata_new_var (hdata, "string_split", offsetof (struct t_myplugin_list, string_split), WEECHAT_HDATA_STRING, 0, "*", NULL);
|
||||
weechat_hdata_new_var (hdata, "tags_array", offsetof (struct t_myplugin_list, tags_array), WEECHAT_HDATA_STRING, 0, "*,tags_count", NULL);
|
||||
weechat_hdata_new_var (hdata, "string_split", offsetof (struct t_myplugin_list, string_split), WEECHAT_HDATA_STRING, 0, "*,*", NULL);
|
||||
weechat_hdata_new_var (hdata, "prev", offsetof (struct t_myplugin_list, prev), WEECHAT_HDATA_POINTER, 0, NULL, "myplugin_list");
|
||||
weechat_hdata_new_var (hdata, "next", offsetof (struct t_myplugin_list, next), WEECHAT_HDATA_POINTER, 0, NULL, "myplugin_list");
|
||||
----
|
||||
@@ -15923,9 +15953,10 @@ weechat_hdata_new_var (hdata, "next", offsetof (struct t_myplugin_list, next), W
|
||||
----
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, name, STRING, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, buffer, POINTER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, numbers, INTEGER, 0, "3", NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, tags_count, INTEGER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, tags_array, STRING, 0, "tags_count", NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, string_split, STRING, 0, "*", NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, tags_array, STRING, 0, "*,tags_count", NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, string_split, STRING, 0, "*,*", NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, prev, POINTER, 0, NULL, "myplugin_list");
|
||||
WEECHAT_HDATA_VAR(struct t_myplugin_list, next, POINTER, 0, NULL, "myplugin_list");
|
||||
----
|
||||
@@ -16539,7 +16570,7 @@ if buffer:
|
||||
|
||||
==== hdata_search
|
||||
|
||||
_WeeChat ≥ 0.4.1._
|
||||
_WeeChat ≥ 0.4.1, ажурирано у верзији 3.4._
|
||||
|
||||
Тражи елемент у листи: израз _search_ се тражи за сваки елемент у листи, све док се елемент не пронађе (или наиђе на крај листе).
|
||||
|
||||
@@ -16547,7 +16578,9 @@ _WeeChat ≥ 0.4.1._
|
||||
|
||||
[source, C]
|
||||
----
|
||||
void *weechat_hdata_search (struct t_hdata *hdata, void *pointer, const char *search, int move);
|
||||
void *weechat_hdata_search (struct t_hdata *hdata, void *pointer, const char *search,
|
||||
struct t_hashtable *pointers, struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options, int move);
|
||||
----
|
||||
|
||||
Аргументи:
|
||||
@@ -16555,8 +16588,16 @@ void *weechat_hdata_search (struct t_hdata *hdata, void *pointer, const char *se
|
||||
* _hdata_: показивач на hdata
|
||||
* _pointer_: показивач на објекат програма WeeChat/додатка
|
||||
* _search_: израз који се израчунава, подразумевани показивач у изразу је име hdata (и овај показивач се мења за сваки елемент у листи); за помоћ у вези израза, погледајте link:weechat_user.sr.html#command_weechat_eval[WeeChat корисничко упутство / Команда /eval]
|
||||
* _pointers_: хеш табела за позив функције <<_string_eval_expression,string_eval_expression>>
|
||||
* _extra_vars_: хеш табела за позив функције <<_string_eval_expression,string_eval_expression>>
|
||||
* _options_: хеш табела за позив функције <<_string_eval_expression,string_eval_expression>>
|
||||
* _move_: број скок(а/ова) који треба да се изврши након неуспешне претраге (негативни или позитивни цео број, различит од 0)
|
||||
|
||||
[IMPORTANT]
|
||||
Морате обезбедити да је _search_ израз сигуран и да не садржи корисничке
|
||||
податке. Такви небезбедни подаци морају да се наведу у хеш табели _extra_vars_
|
||||
и да се на њих у _search_ изразу укаже са `${xxx}` (погледајте пример испод).
|
||||
|
||||
Повратна вредност:
|
||||
|
||||
* показивач на пронађени елемент, NULL у случају да се не пронађе
|
||||
@@ -16567,13 +16608,21 @@ C пример:
|
||||
----
|
||||
struct t_hdata *hdata = weechat_hdata_get ("irc_server");
|
||||
void *servers = weechat_hdata_get_list (hdata, "irc_servers");
|
||||
struct t_hashtable *extra_vars = weechat_hashtable_new (8,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
/* тражи irc сервер под именом „libera” */
|
||||
void *server = weechat_hdata_search (hdata, servers, "${irc_server.name} == libera", 1);
|
||||
weechat_hashtable_set (extra_vars, "server_name", "libera");
|
||||
void *server = weechat_hdata_search (hdata, servers, "${irc_server.name} == ${server_name}",
|
||||
NULL, extra_vars, NULL, 1);
|
||||
if (server)
|
||||
{
|
||||
/* ... */
|
||||
}
|
||||
weechat_hashtable_free (extra_vars);
|
||||
----
|
||||
|
||||
Скрипта (Python):
|
||||
@@ -16581,14 +16630,17 @@ if (server)
|
||||
[source, python]
|
||||
----
|
||||
# прототип
|
||||
def hdata_search(hdata: str, pointer: str, search: str, count: int) -> str: ...
|
||||
def hdata_search(hdata: str, pointer: str, search: str,
|
||||
pointers: Dict[str, str], extra_vars: Dict[str, str], options: Dict[str, str],
|
||||
count: int) -> str: ...
|
||||
|
||||
# пример
|
||||
hdata = weechat.hdata_get("irc_server")
|
||||
servers = weechat.hdata_get_list(hdata, "irc_servers")
|
||||
|
||||
# тражи irc сервер под именом „libera”
|
||||
server = weechat.hdata_search(hdata, servers, "${irc_server.name} == libera", 1)
|
||||
server = weechat.hdata_search(hdata, servers, "${irc_server.name} == ${server_name}",
|
||||
{}, {"server_name": "libera"}, {}, 1)
|
||||
if server:
|
||||
# ...
|
||||
----
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
= Водич за тестирање програма WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: sr
|
||||
:toc: left
|
||||
:toc-title: Садржај
|
||||
:sectnums:
|
||||
:docinfo1:
|
||||
|
||||
Превод:
|
||||
|
||||
* Иван Пешић (<ivan.pesic@gmail.com>), 2021.
|
||||
|
||||
|
||||
[[purpose]]
|
||||
== Намена
|
||||
|
||||
Многи захвални корисници су нас питали како могу да помогну развој програма WeeChat. Најлакши (у исто време и најкомпликованији) начин помоћи у развоју програма WeeChat је тестирање!
|
||||
|
||||
Тестирање је веома важан део развоја софтвера и не би требало да се занемари. Када се имплементирају неке могућности, требало би и да се тестирају, али за неке могућности постоји превише случајева коришћења или су ти случајеви компликовани, па програмери не могу да испробају баш сваки случај.
|
||||
|
||||
На пример: озлоглашени charset додатак је уведен у WeeChat верзије 0.2.2: нико од нас (програмери, људи који су дали допринос програму, и тестери) није користио канале са националним карактерима у својим именима, па када је објављена верзија 0.2.2, руски коринисници су нас засули примедбама. Да имамо више тестера, овако нешто се не би опет поновило у будућности.
|
||||
|
||||
Тестирање стабилне верзије програма WeeChat нема смисла јер су програмери стално заузети имплементирањем нових ствари (и исправљањем старих багова).
|
||||
|
||||
|
||||
[[prepare_system]]
|
||||
== Припремите свој систем
|
||||
|
||||
Пуно би нам помогло ако укључите Линукс _core_ фајлове: ако се програм WeeChat сруши, Линукс ће креирати фајл под именом _core_. Овај фајл садржи врло корисне дибаг информације, тако да прецизно можемо знати где је у програму WeeChat настао проблем.
|
||||
|
||||
Ако користите _bash_ командно окружење, додајте следећу линију у свој _~/.bashrc_:
|
||||
|
||||
----
|
||||
ulimit -c unlimited
|
||||
----
|
||||
|
||||
|
||||
[[download]]
|
||||
== Преузмите развојну верзију
|
||||
|
||||
Свеж кôд (са најновијим баговима и могућностима) је чува у GIT репозиторијуму.
|
||||
|
||||
Можете одлучити да га сами изградите (препоручени начин):
|
||||
|
||||
* GIT верзија може да се изгради и инсталира паралелно са стабилном верзијом.
|
||||
* Није вам потребан root приступ, и не морате да жртвујете стабилну верзију програма WeeChat.
|
||||
|
||||
[[get_sources]]
|
||||
=== Набавите и изградите изворне фајлове
|
||||
|
||||
Најпре креирајте директоријум, на пример _weechat-git_:
|
||||
|
||||
----
|
||||
$ mkdir ~/weechat-git
|
||||
$ cd ~/weechat-git
|
||||
----
|
||||
|
||||
Ако имате инсталиран програм git, можете једноставно да клонирате git репозиторијум (препоручени начин):
|
||||
|
||||
----
|
||||
$ git clone https://github.com/weechat/weechat.git
|
||||
$ cd weechat
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Касније можете да извршите `git pull` у овом директоријуму, чиме преузимате делте са најновијим ажурирањима.
|
||||
|
||||
У супротном можете да преузмете и распакујете _devel_ пакет:
|
||||
|
||||
----
|
||||
$ wget https://weechat.org/files/src/weechat-devel.tar.bz2
|
||||
$ tar xvjf weechat-devel.tar.bz2
|
||||
$ cd weechat-devel
|
||||
----
|
||||
|
||||
CMake се препоручује за изградњу изворних фајлова:
|
||||
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
Ако немате CMake, ипак је могуће да употребите autotools:
|
||||
|
||||
----
|
||||
$ ./autogen.sh
|
||||
$ ./configure --prefix=$HOME/weechat-git WEECHAT_HOME=~/.weechat-dev
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
[[install_binary_package]]
|
||||
=== Инсталација бинарног пакета
|
||||
|
||||
У зависности од ваше Линукс дистрибуције:
|
||||
|
||||
* Debian: https://weechat.org/download/debian
|
||||
* Gentoo: https://weechat.org/download
|
||||
* ArchLinux: PKGBUILD са https://aur.archlinux.org/
|
||||
* остале: не знамо! Хехе.
|
||||
|
||||
|
||||
[[run]]
|
||||
== Покретање програма WeeChat
|
||||
|
||||
Команда је:
|
||||
|
||||
----
|
||||
$ ~/weechat-git/bin/weechat
|
||||
----
|
||||
|
||||
Ако сте још увек будни, требало би да угледате познати интерфејс и да се хвалите тиме што поседујете најновију могућу верзију програма WeeChat. ;)
|
||||
|
||||
Ако сада искусите чудно понашање (можда постоје проблеми или крах или може да прокључа ваше пиво) не оклевајте да се придружите каналу _#weechat_ на _irc.libera.chat_ и да нам испричате о проблему.
|
||||
|
||||
Ако се програм не руши - реците нам и то, потребно нам је ваше извештавање!
|
||||
+1814
-1685
File diff suppressed because it is too large
Load Diff
@@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: cs\n"
|
||||
@@ -165,7 +165,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -9058,11 +9058,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
@@ -9626,24 +9628,28 @@ msgstr "%s%s%s %s(%s%s%s)%s se zpet na serveru"
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%sMód %s%s %s[%s%s%s]"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: příkaz \"%s\" nenalezen:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr "%s%s: selhalo parsování příkazu \"%s\" (prosím oznamte to vývojárům):"
|
||||
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: přijato příliš málo argumentů od IRC serveru pro příkaz \"%s"
|
||||
"\" (obdrženo: %d argumentů, očekáváno: alespoň %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: \"%s\" příkaz obdržen bez hosta"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -13362,29 +13368,3 @@ msgstr "%s%s: vypršel časový limit \"%s\" pro %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: nemohu se připojit\" neočekávaná chyba (%d)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: vypíše načtené pluginy\n"
|
||||
#~ "listfull: vypíše načtené pluginy (detailní)\n"
|
||||
#~ " load: načte plugin\n"
|
||||
#~ "autolaod: automaticky načte pluginy v systémovém nebo uživatelském "
|
||||
#~ "adresáři\n"
|
||||
#~ " reload: znovu načte plugin (pokud není zadané žádné jméno odebere "
|
||||
#~ "všechny pluginy pak automaticky načte pluginy)\n"
|
||||
#~ " unload: odebere jeden nebo všechny pluginy\n"
|
||||
#~ "\n"
|
||||
#~ "Zavolání příkazu bez parametrů vypíše načtené pluginy."
|
||||
|
||||
@@ -24,8 +24,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-10-02 19:48+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-10 09:48+0100\n"
|
||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||
"Language: de\n"
|
||||
@@ -33,7 +33,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Poedit-Bookmarks: -1,-1,180,-1,-1,-1,-1,-1,-1,-1\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
||||
@@ -169,7 +169,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -192,10 +192,10 @@ msgstr ""
|
||||
" -c, --colors zeigt die Standardfarben des Terminals an\n"
|
||||
" -d, --dir <Pfad> legt einen Konfigurationsordner für WeeChat fest\n"
|
||||
" oder vier verschiedene Verzeichnisse, die durch "
|
||||
"Doppelpunkte getrennt sind (in dieser Reihenfolge: Konfiguration, Daten, "
|
||||
"Cache, Laufzeit)\n"
|
||||
"Doppelpunkte getrennt werden (in folgender Reihenfolge: Konfiguration, "
|
||||
"Daten, Cache, Laufzeit)\n"
|
||||
" (Umgebungsvariable WEECHAT_HOME wird genutzt, "
|
||||
"falls diese Option nicht übergeben wird)\n"
|
||||
"falls diese Option nicht verwendet wird)\n"
|
||||
" -t, --temp-dir erstellt ein temporäres WeeChat "
|
||||
"Heimatverzeichnis, welches beim Beenden gelöscht wird\n"
|
||||
" (nicht nutzbar mit Option \"-d\")\n"
|
||||
@@ -209,11 +209,11 @@ msgstr ""
|
||||
" -r, --run-command <cmd> führt einen oder mehrere Befehle nach dem Start "
|
||||
"aus\n"
|
||||
" mehrere Befehle können durch ein Semikolon "
|
||||
"getrennt werden,\n"
|
||||
"getrennt werden und sind evaluiert,\n"
|
||||
" diese Option kann mehrfach genutzt werden\n"
|
||||
" -s, --no-script Skripten werden beim Programmstart nicht geladen\n"
|
||||
" --upgrade führt ein WeeChat-Upgrade mittels Sitzungsdateien "
|
||||
"die mit dem Befehl `/upgrade -quit` erstellt wurden durch\n"
|
||||
" -s, --no-script Skripts werden beim Programmstart nicht geladen\n"
|
||||
" --upgrade führt ein WeeChat-Upgrade, mittels "
|
||||
"Sitzungsdateien die mit dem Befehl `/upgrade -quit` erstellt wurden, durch\n"
|
||||
" -v, --version zeigt die Version von WeeChat an\n"
|
||||
" plugin:option Einstellungen für Erweiterungen (siehe man "
|
||||
"weechat)\n"
|
||||
@@ -3163,7 +3163,6 @@ msgstr ""
|
||||
msgid "toggle value of a config option"
|
||||
msgstr "den Wert einer Konfigurationsoption umschalten"
|
||||
|
||||
#| msgid "[<file> [<file>...]]"
|
||||
msgid "<option> [<value> [<value>...]]"
|
||||
msgstr "<option> [<value> [<value>...]]"
|
||||
|
||||
@@ -11233,22 +11232,26 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\": Tags, \"tag_xxx\": Wert des Tags \"xxx\" ohne Escapezeichen (ein "
|
||||
"Schlüssel pro Tag), \"message_without_tags\": Nachrichten ohne Tags, \"nick"
|
||||
"\": Nick, \"user\": Benutzer, \"host\": Host, \"command\": Befehl, \"channel"
|
||||
"\": Kanal, \"arguments\": Argumente (schließt Kanal ein), \"text\": Text "
|
||||
"(zum Beispiel eine Nachricht von einem User), \"pos_command\": Index der "
|
||||
"\"command\" Nachricht (\"-1\" falls \"command\" nicht gefunden wird), "
|
||||
"\"pos_arguments\": Index der \"arguments\" Nachricht (\"-1\" falls "
|
||||
"\"arguments\" nicht gefunden wird), \"pos_channel\": Index der \"channel\" "
|
||||
"Nachricht (\"-1\" falls \"channel\" nicht gefunden wird),\"pos_text\": Index "
|
||||
"für \"text\" Nachricht (\"-1\" falls \"text\" nicht gefunden wird)"
|
||||
"(zum Beispiel eine Nachricht von einem User), \"param1\" ... \"paramN\": "
|
||||
"geparste Befehlsparameter, \"num_params\": Anzahl geparste Befehlsparameter, "
|
||||
"\"pos_command\": Index der \"command\" Nachricht (\"-1\" falls \"command\" "
|
||||
"nicht gefunden wird), \"pos_arguments\": Index der \"arguments\" Nachricht "
|
||||
"(\"-1\" falls \"arguments\" nicht gefunden wird), \"pos_channel\": Index der "
|
||||
"\"channel\" Nachricht (\"-1\" falls \"channel\" nicht gefunden wird),"
|
||||
"\"pos_text\": Index für \"text\" Nachricht (\"-1\" falls \"text\" nicht "
|
||||
"gefunden wird)"
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
msgstr ""
|
||||
@@ -11808,26 +11811,27 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s wurde das Wort entzogen"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgstr "%s%s: Befehl \"%s\" nicht gefunden:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr ""
|
||||
"%s%s: Befehl \"%s\" kann nicht nicht geparsed werden (bitte melden Sie das "
|
||||
"den Entwicklern):"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: Befehl \"%s\" nicht gefunden: \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: zu wenige Argumente für den Befehl \"%s\" vom IRC-Server erhalten "
|
||||
"(Empfangen: %d Argumente, Erwartet: mindestens %d)"
|
||||
"%s%s: Fehler beim Parsen des Befehls\"%s\" (bitte wenden Sie sich an die "
|
||||
"Entwickler): \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s%s: \"%s\"-Befehl empfangen ohne Host"
|
||||
msgid ""
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: zu wenige Parameter im Befehl empfangen \"%s\" (Empfangen: %d, "
|
||||
"Erwartet: mindestens %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: Befehl \"%s\" ohne Nick empfangen"
|
||||
|
||||
#, c-format
|
||||
msgid "IRC raw messages | Filter: %s"
|
||||
@@ -16021,34 +16025,3 @@ msgstr "%s%s: Zeitüberschreitung für \"%s\" mit %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr ""
|
||||
"%s%s: Verbindung konnte nicht hergestellt werden: unerwarteter Fehler (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: installierte Erweiterungen werden aufgelistet\n"
|
||||
#~ " listfull: detaillierte Auflistung aller installierten Erweiterungen\n"
|
||||
#~ " load: installiert eine Erweiterung\n"
|
||||
#~ " autoload: installiert automatisch alle Erweiterungen aus dem System- "
|
||||
#~ "oder Benutzerverzeichnis\n"
|
||||
#~ " reload: startet eine Erweiterung erneut (falls kein Name angegeben "
|
||||
#~ "wird, werden alle Erweiterungen beendet und neu gestartet)\n"
|
||||
#~ " unload: beendet eine oder alle Erweiterungen (wird kein Name angegeben "
|
||||
#~ "dann werden alle Erweiterung beendet)\n"
|
||||
#~ " filename: Erweiterung (Datei) welche installiert werden soll\n"
|
||||
#~ " name: Name einer Erweiterung\n"
|
||||
#~ "arguments: Argumente die der Erweiterung beim installieren übergeben "
|
||||
#~ "werden sollen\n"
|
||||
#~ "\n"
|
||||
#~ "Ohne Angabe eines Arguments werden alle installierten Erweiterungen "
|
||||
#~ "angezeigt."
|
||||
|
||||
@@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-10-01 22:53+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: fr\n"
|
||||
@@ -163,7 +163,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -2389,7 +2389,7 @@ msgstr ""
|
||||
"associée à la touche\n"
|
||||
" bindctxt : associer une commande à une touche ou affiche la commande "
|
||||
"associée à la touche pour le contexte donné\n"
|
||||
" commande : commande (plusieurs commandes peuvent êtres séparées par des "
|
||||
" commande : commande (plusieurs commandes peuvent être séparées par des "
|
||||
"points-virgules)\n"
|
||||
" unbind : supprimer l'association à une touche\n"
|
||||
" unbindctxt : supprimer l'association à une touche pour le contexte donné\n"
|
||||
@@ -10994,23 +10994,26 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\" : étiquettes, \"tag_xxx\" : valeur de l'étiquette \"xxx\" sans "
|
||||
"échappements (une clé par étiquette), \"message_without_tags\" : message "
|
||||
"sans les étiquettes, \"nick\" : pseudo, \"user\" : nom d'utilisateur, \"host"
|
||||
"\" : nom d'hôte, \"command\" : commande, \"channel\" : canal, \"arguments"
|
||||
"\" : paramètres (inclut le canal), \"text\" : texte (par exemple message "
|
||||
"utilisateur), \"pos_command\" : index de \"command\" dans le message (\"-1\" "
|
||||
"si \"command\" n'a pas été trouvé), \"pos_arguments\" : index de \"arguments"
|
||||
"\" dans le message (\"-1\" si \"arguments\" n'a pas été trouvé), "
|
||||
"\"pos_channel\" : index de \"channel\" dans le message (\"-1\" si \"channel"
|
||||
"\" n'a pas été trouvé), \"pos_text\" : index de \"text\" dans le message "
|
||||
"(\"-1\" si \"text\" n'a pas été trouvé)"
|
||||
"utilisateur), \"param1\" ... \"paramN\" : paramètres de la commande, "
|
||||
"\"num_params\" : nombre de paramètres dans la commande, \"pos_command\" : "
|
||||
"index de \"command\" dans le message (\"-1\" si \"command\" n'a pas été "
|
||||
"trouvé), \"pos_arguments\" : index de \"arguments\" dans le message (\"-1\" "
|
||||
"si \"arguments\" n'a pas été trouvé), \"pos_channel\" : index de \"channel\" "
|
||||
"dans le message (\"-1\" si \"channel\" n'a pas été trouvé), \"pos_text\" : "
|
||||
"index de \"text\" dans le message (\"-1\" si \"text\" n'a pas été trouvé)"
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
msgstr "découper un message IRC (pour tenir dans les 512 octets par défaut)"
|
||||
@@ -11563,26 +11566,27 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s rendu silencieux"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgstr "%s%s : commande \"%s\" non trouvée :"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr ""
|
||||
"%s%s : échec d'analyse de la commande \"%s\" (merci de reporter ce problème "
|
||||
"aux développeurs) :"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s : commande \"%s\" non trouvée : \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s : trop peu de paramètres reçus du serveur IRC pour la commande \"%s"
|
||||
"\" (reçu : %d paramètres, attendu : au moins %d)"
|
||||
"%s%s : échec d'analyse de la commande \"%s\" (merci de reporter ce problème "
|
||||
"aux développeurs) : \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s%s : commande \"%s\" reçue sans hôte"
|
||||
msgid ""
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s : trop peu de paramètres reçus dans la commande \"%s\" (reçu : %d, "
|
||||
"attendu : au moins %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s : commande \"%s\" reçue sans pseudo"
|
||||
|
||||
#, c-format
|
||||
msgid "IRC raw messages | Filter: %s"
|
||||
@@ -15718,32 +15722,3 @@ msgstr "%s%s : délai d'attente dépassé pour \"%s\" avec %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s : impossible de se connecter : erreur inattendue (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list : lister les extensions chargées\n"
|
||||
#~ " listfull : lister les extensions chargées (verbeux)\n"
|
||||
#~ " load : charger une extension\n"
|
||||
#~ " autoload : charger automatiquement les extensions dans un répertoire "
|
||||
#~ "système ou utilisateur\n"
|
||||
#~ " reload : recharger une extension (si pas de nom donné, décharger "
|
||||
#~ "toutes les extensions, puis recharger automatiquement les extensions)\n"
|
||||
#~ " unload : décharger une extension (si pas de nom donné, décharger "
|
||||
#~ "toutes les extensions)\n"
|
||||
#~ " fichier : extension (fichier) à charger\n"
|
||||
#~ " nom : nom d'extension\n"
|
||||
#~ "paramètres : paramètres donnés à l'extension lors de son chargement\n"
|
||||
#~ "\n"
|
||||
#~ "Sans paramètre, cette commande liste les extensions chargées."
|
||||
|
||||
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: hu\n"
|
||||
@@ -171,7 +171,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -8610,11 +8610,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
@@ -9180,21 +9182,22 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s[%s%s%s] %s%s%s-t kitiltotta "
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s a \"%s\" modul nem található\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr ""
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s \"%s\" parancs érkezett hoszt megadása nélkül\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -12785,29 +12788,3 @@ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s DCC: nem sikerült kapcsolódni a küldőhöz\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ "list: betöltött modulok listája\n"
|
||||
#~ "listfull: betöltött modulok listája részletes információkkal együtt\n"
|
||||
#~ "load: modul betöltése\n"
|
||||
#~ "autoload: modulok automatikus betöltése a felhasználó vagy "
|
||||
#~ "rendszerkönyvtárból\n"
|
||||
#~ "reload: modul újratöltése (ha nincs név megadva, minden modul "
|
||||
#~ "eltávolítása, majd automatikus modulbetöltés)\n"
|
||||
#~ "unload: megadott vagy összes modul eltávolítása\n"
|
||||
#~ "\n"
|
||||
#~ "Paraméter nélkül a /plugin parancs listázza a betöltött modulokat."
|
||||
|
||||
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: it\n"
|
||||
@@ -170,7 +170,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -9513,11 +9513,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\": tag, \"message_without_tags\": messaggio senza tag, \"nick\": "
|
||||
"nick, \"host\": nome host, \"command\": comando, \"channel\": canale, "
|
||||
@@ -10082,26 +10084,33 @@ msgstr "%s%s[%s%s%s] %s%s%s messo a tacere da %s%s %s(%s%s%s)"
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s invitato"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: comando \"%s\" non trovato:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: impossibile verificare il comando \"%s\" (per favore segnalare agli "
|
||||
"sviluppatori):"
|
||||
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "%s%s: too few arguments received from client %s%s%s for command \"%s"
|
||||
#| "\" (received: %d arguments, expected: at least %d)"
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: pochi argomenti ricevuti dal server IRC per il comando \"%s"
|
||||
"\" (ricevuti: %d argomenti, attesi: %d come minimo)"
|
||||
"%s%s: argomenti non sufficienti ricevuti dal client %s%s%s per il comando "
|
||||
"\"%s\" (ricevuti: %d argomenti, attesi: %d almeno)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: comando \"%s\" ricevuto senza il nome host"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -13805,31 +13814,3 @@ msgstr "%s%s: timeout per \"%s\" con %s"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: impossibile connettersi al mittente"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: elenca i plugin caricati\n"
|
||||
#~ " listfull: elenca i plugin caricati (dettagliato)\n"
|
||||
#~ " load: carica un plugin\n"
|
||||
#~ " autoload: carica automaticamente un plugin nella directory di sistema o "
|
||||
#~ "utente\n"
|
||||
#~ " reload: ricarica un plugin (se non specificato, scarica e poi ricarica "
|
||||
#~ "tutti i plugin)\n"
|
||||
#~ " unload: scarica un plugin (se non specificato, scarica tutti i plugin\n"
|
||||
#~ " nomefile: plugin (file) da caricare\n"
|
||||
#~ " nome: nome di un plugin\n"
|
||||
#~ "argomenti: argomenti passati al plugin durante il caricamento\n"
|
||||
#~ "\n"
|
||||
#~ "Senza argomento, questo comando elenca i plugin caricati."
|
||||
|
||||
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
||||
"translation/ja_JP>\n"
|
||||
@@ -164,7 +164,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -10491,11 +10491,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\": タグ、\"message_without_tags\": タグを含まないメッセージ、\"nick"
|
||||
"\": ニックネーム、\"host\": ホスト名、\"command\": コマンド、\"channel\": "
|
||||
@@ -11063,24 +11065,31 @@ msgstr "%1$s%2$s[%3$s%4$s%5$s] %10$s が %6$s%7$s%8$s%9$s の発言を禁止し
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s の発言を禁止しました"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: コマンド \"%s\" が見つかりません:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr "%s%s: コマンド \"%s\" の解析に失敗 (開発者に報告してください):"
|
||||
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "%s%s: too few arguments received from client %s%s%s for command \"%s"
|
||||
#| "\" (received: %d arguments, expected: at least %d)"
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: IRC サーバから受け取ったコマンド \"%s\" に引数が足りません (受け取った"
|
||||
"引数の数: %d 個、期待される数: 最低 %d 個)"
|
||||
"%s%s: クライアント %s%s%s から受け付けたコマンド \"%s\" に対する引数が足りま"
|
||||
"せん (受信: %d 個の引数、必要数: 少なくとも %d 個)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: ホスト名を含めずに \"%s\" コマンドを受信"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -14996,32 +15005,3 @@ msgstr "%s%s: \"%s\" のタイムアウト %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: 接続できません: 未定義のエラー (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: ロードされたプラグインをリストアップ\n"
|
||||
#~ " listfull: ロードされたプラグインをリストアップ (詳細)\n"
|
||||
#~ " load: プラグインをロード\n"
|
||||
#~ " autoload: システムかユーザディレクトリ指定の自動ロードプラグインをロー"
|
||||
#~ "ド\n"
|
||||
#~ " reload: プラグインを再ロード (名前が指定されない場合は、全てのプラグイ"
|
||||
#~ "ンをアンロードし、プラグインを自動ロード)\n"
|
||||
#~ " unload: プラグインのアンロード (名前が指定されない場合は、全てのプラグ"
|
||||
#~ "インをアンロード)\n"
|
||||
#~ " filename: ロードするプラグイン (ファイル)\n"
|
||||
#~ " name: プラグイン名\n"
|
||||
#~ "arguments: ロードするプラグインに与える引数\n"
|
||||
#~ "\n"
|
||||
#~ "引数無しでは、ロードされたプラグインをリストアップ。"
|
||||
|
||||
@@ -22,8 +22,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-12 00:43+0100\n"
|
||||
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
||||
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
|
||||
"Language: pl\n"
|
||||
@@ -32,7 +32,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
"X-Generator: Poedit 2.4.2\n"
|
||||
|
||||
msgid "any string"
|
||||
msgstr "dowolny ciąg"
|
||||
@@ -165,7 +165,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -200,7 +200,8 @@ msgstr ""
|
||||
" -P, --plugins <wtyczki> załaduj tylko te wtyczki przy starcie\n"
|
||||
" (zobacz /help weechat.plugin.autoload)\n"
|
||||
" -r, --run-command <cmd> wykonaj komendę(y) po uruchomieniu;\n"
|
||||
" wiele komend może być oddzielone średnikami\n"
|
||||
" wiele komend może być oddzielone średnikami i są "
|
||||
"one przetwarzane,\n"
|
||||
" ta opcja może zostać podana wiele razy\n"
|
||||
" -s, --no-script nie ładuj skryptów przy starcie\n"
|
||||
" --upgrade uaktualnia WeeChat używając plików sesji (zobacz /"
|
||||
@@ -819,10 +820,8 @@ msgstr "Nie znaleziono wtyczki"
|
||||
msgid " (no plugin)"
|
||||
msgstr " (brak wtyczki)"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "Plugins loaded:"
|
||||
msgid "No plugins loaded"
|
||||
msgstr "Załadowane wtyczki:"
|
||||
msgstr "Brak załadowanych wtyczek"
|
||||
|
||||
msgid "List of proxies:"
|
||||
msgstr "Lista proxy:"
|
||||
@@ -1658,141 +1657,6 @@ msgstr ""
|
||||
"[-n|-s] [-d] <wyrażenie> || [-n] [-d [-d]] -c <wyrażenie1> <operator> "
|
||||
"<wyrażenie2>"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " -n: display result without sending it to buffer (debug mode)\n"
|
||||
#| " -s: split expression before evaluating it (many commands can be "
|
||||
#| "separated by semicolons)\n"
|
||||
#| " -d: display debug output after evaluation (with two -d: more "
|
||||
#| "verbose debug)\n"
|
||||
#| " -c: evaluate as condition: use operators and parentheses, return "
|
||||
#| "a boolean value (\"0\" or \"1\")\n"
|
||||
#| "expression: expression to evaluate, variables with format ${variable} are "
|
||||
#| "replaced (see below); many commands can be separated by semicolons\n"
|
||||
#| " operator: a logical or comparison operator:\n"
|
||||
#| " - logical operators:\n"
|
||||
#| " && boolean \"and\"\n"
|
||||
#| " || boolean \"or\"\n"
|
||||
#| " - comparison operators:\n"
|
||||
#| " == equal\n"
|
||||
#| " != not equal\n"
|
||||
#| " <= less or equal\n"
|
||||
#| " < less\n"
|
||||
#| " >= greater or equal\n"
|
||||
#| " > greater\n"
|
||||
#| " =~ is matching POSIX extended regex\n"
|
||||
#| " !~ is NOT matching POSIX extended regex\n"
|
||||
#| " ==* is matching mask, case sensitive (wildcard \"*\" is "
|
||||
#| "allowed)\n"
|
||||
#| " !!* is NOT matching mask, case sensitive (wildcard \"*\" "
|
||||
#| "is allowed)\n"
|
||||
#| " =* is matching mask, case insensitive (wildcard \"*\" "
|
||||
#| "is allowed)\n"
|
||||
#| " !* is NOT matching mask, case insensitive (wildcard \"*"
|
||||
#| "\" is allowed)\n"
|
||||
#| " ==- is included, case sensitive\n"
|
||||
#| " !!- is NOT included, case sensitive\n"
|
||||
#| " =- is included, case insensitive\n"
|
||||
#| " !- is NOT included, case insensitive\n"
|
||||
#| "\n"
|
||||
#| "An expression is considered as \"true\" if it is not NULL, not empty, and "
|
||||
#| "different from \"0\".\n"
|
||||
#| "The comparison is made using floating point numbers if the two "
|
||||
#| "expressions are valid numbers, with one of the following formats:\n"
|
||||
#| " - integer (examples: 5, -7)\n"
|
||||
#| " - floating point number (examples: 5.2, -7.5, 2.83e-2)\n"
|
||||
#| " - hexadecimal number (examples: 0xA3, -0xA3)\n"
|
||||
#| "To force a string comparison, you can add double quotes around each "
|
||||
#| "expression, for example:\n"
|
||||
#| " 50 > 100 ==> 0\n"
|
||||
#| " \"50\" > \"100\" ==> 1\n"
|
||||
#| "\n"
|
||||
#| "Some variables are replaced in expression, using the format ${variable}, "
|
||||
#| "variable can be, by order of priority:\n"
|
||||
#| " 1. the string itself without evaluation (format: \"raw:xxx\")\n"
|
||||
#| " 2. an evaluated sub-string (format: \"eval:xxx\")\n"
|
||||
#| " 3. an evaluated condition (format: \"eval_cond:xxx\")\n"
|
||||
#| " 4. a string with escaped chars (format: \"esc:xxx\" or \"\\xxx\")\n"
|
||||
#| " 5. a string with chars to hide (format: \"hide:char,string\")\n"
|
||||
#| " 6. a string with max chars (format: \"cut:max,suffix,string\" or \"cut:"
|
||||
#| "+max,suffix,string\")\n"
|
||||
#| " or max chars displayed on screen (format: \"cutscr:max,suffix,string"
|
||||
#| "\" or \"cutscr:+max,suffix,string\")\n"
|
||||
#| " 7. a reversed string (format: \"rev:xxx\" or \"revscr:xxx\")\n"
|
||||
#| " 8. a repeated string (format: \"repeat:count,string\")\n"
|
||||
#| " 9. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
|
||||
#| " 10. a color (format: \"color:xxx\", see \"Plugin API reference\", "
|
||||
#| "function \"color\")\n"
|
||||
#| " 11. a modifier (format: \"modifier:name,data,string\")\n"
|
||||
#| " 12. an info (format: \"info:name,arguments\", arguments are optional)\n"
|
||||
#| " 13. a base 16/32/64 encoded/decoded string (format: \"base_encode:base,"
|
||||
#| "xxx\" or \"base_decode:base,xxx\")\n"
|
||||
#| " 14. current date/time (format: \"date\" or \"date:format\")\n"
|
||||
#| " 15. an environment variable (format: \"env:XXX\")\n"
|
||||
#| " 16. a ternary operator (format: \"if:condition?value_if_true:"
|
||||
#| "value_if_false\")\n"
|
||||
#| " 17. result of an expression with parentheses and operators + - * / // % "
|
||||
#| "** (format: \"calc:xxx\")\n"
|
||||
#| " 18. a translated string (format: \"translate:xxx\")\n"
|
||||
#| " 19. an option (format: \"file.section.option\")\n"
|
||||
#| " 20. a local variable in buffer\n"
|
||||
#| " 21. a hdata name/variable (the value is automatically converted to "
|
||||
#| "string), by default \"window\" and \"buffer\" point to current window/"
|
||||
#| "buffer.\n"
|
||||
#| "Format for hdata can be one of following:\n"
|
||||
#| " hdata.var1.var2...: start with a hdata (pointer must be known), and ask "
|
||||
#| "variables one after one (other hdata can be followed)\n"
|
||||
#| " hdata[list].var1.var2...: start with a hdata using a list/pointer/"
|
||||
#| "pointer name, for example:\n"
|
||||
#| " ${buffer[gui_buffers].full_name}: full name of first buffer in linked "
|
||||
#| "list of buffers\n"
|
||||
#| " ${plugin[weechat_plugins].name}: name of first plugin in linked list "
|
||||
#| "of plugins\n"
|
||||
#| " hdata[pointer].var1.var2...: start with a hdata using a pointer, for "
|
||||
#| "example:\n"
|
||||
#| " ${buffer[0x1234abcd].full_name}: full name of the buffer with this "
|
||||
#| "pointer (can be used in triggers)\n"
|
||||
#| " ${buffer[my_pointer].full_name}: full name of the buffer with this "
|
||||
#| "pointer name (can be used in triggers)\n"
|
||||
#| "For name of hdata and variables, please look at \"Plugin API reference\", "
|
||||
#| "function \"weechat_hdata_get\".\n"
|
||||
#| "\n"
|
||||
#| "Examples (simple strings):\n"
|
||||
#| " /eval -n ${raw:${info:version}} ==> ${info:version}\n"
|
||||
#| " /eval -n ${eval_cond:${window.win_width}>100} ==> 1\n"
|
||||
#| " /eval -n ${info:version} ==> 0.4.3\n"
|
||||
#| " /eval -n ${env:HOME} ==> /home/user\n"
|
||||
#| " /eval -n ${weechat.look.scroll_amount} ==> 3\n"
|
||||
#| " /eval -n ${sec.data.password} ==> secret\n"
|
||||
#| " /eval -n ${window} ==> 0x2549aa0\n"
|
||||
#| " /eval -n ${window.buffer} ==> 0x2549320\n"
|
||||
#| " /eval -n ${window.buffer.full_name} ==> core.weechat\n"
|
||||
#| " /eval -n ${window.buffer.number} ==> 1\n"
|
||||
#| " /eval -n ${\\t} ==> <tab>\n"
|
||||
#| " /eval -n ${hide:-,${relay.network.password}} ==> --------\n"
|
||||
#| " /eval -n ${cut:3,+,test} ==> tes+\n"
|
||||
#| " /eval -n ${cut:+3,+,test} ==> te+\n"
|
||||
#| " /eval -n ${date:%H:%M:%S} ==> 07:46:40\n"
|
||||
#| " /eval -n ${if:${info:term_width}>80?big:small} ==> big\n"
|
||||
#| " /eval -n ${rev:Hello} ==> olleH\n"
|
||||
#| " /eval -n ${repeat:5,-} ==> -----\n"
|
||||
#| " /eval -n ${length:test} ==> 4\n"
|
||||
#| " /eval -n ${calc:(5+2)*3} ==> 21\n"
|
||||
#| " /eval -n ${base_encode:64,test} ==> dGVzdA==\n"
|
||||
#| " /eval -n ${base_decode:64,dGVzdA==} ==> test\n"
|
||||
#| " /eval -n ${translate:Plugin} ==> Extension\n"
|
||||
#| "\n"
|
||||
#| "Examples (conditions):\n"
|
||||
#| " /eval -n -c ${window.buffer.number} > 2 ==> 0\n"
|
||||
#| " /eval -n -c ${window.win_width} > 100 ==> 1\n"
|
||||
#| " /eval -n -c (8 > 12) || (5 > 2) ==> 1\n"
|
||||
#| " /eval -n -c (8 > 12) && (5 > 2) ==> 0\n"
|
||||
#| " /eval -n -c abcd =~ ^ABC ==> 1\n"
|
||||
#| " /eval -n -c abcd =~ (?-i)^ABC ==> 0\n"
|
||||
#| " /eval -n -c abcd =~ (?-i)^abc ==> 1\n"
|
||||
#| " /eval -n -c abcd !~ abc ==> 0\n"
|
||||
#| " /eval -n -c abcd =* a*d ==> 1\n"
|
||||
#| " /eval -n -c abcd =- bc ==> 1"
|
||||
msgid ""
|
||||
" -n: display result without sending it to buffer (debug mode)\n"
|
||||
" -s: split expression before evaluating it (many commands can be "
|
||||
@@ -1993,34 +1857,39 @@ msgstr ""
|
||||
"Niektóre zmienne w wyrażeniach są zamieniane, poprzez zastosowanie formatu "
|
||||
"${zmienna}, według priorytetu zmienną może być:\n"
|
||||
" 1. nieprzetworzony ciąg (format: \"raw:xxx\")\n"
|
||||
" 2. przetworzony ciąg (format: \"eval:xxx\")\n"
|
||||
" 3. przetworzony warunek (format: \"eval_cond:xxx\")\n"
|
||||
" 4. ciąg z wyescapowanymi znakami (format: \"esc:xxx\" lub \"\\xxx\")\n"
|
||||
" 5. ciąg ze znakami do ukrycia (format: \"hide:char,string\")\n"
|
||||
" 6. ciąg o maksymalnej długości (format: \"cut:max,suffix,string\" lub "
|
||||
" 2. zmienna zdefiniowana przez użytkownika (format: \"name\")\n"
|
||||
" 3. przetworzony ciąg (format: \"eval:xxx\")\n"
|
||||
" 4. przetworzony warunek (format: \"eval_cond:xxx\")\n"
|
||||
" 5. ciąg z wyescapowanymi znakami (format: \"esc:xxx\" lub \"\\xxx\")\n"
|
||||
" 6. ciąg ze znakami do ukrycia (format: \"hide:char,string\")\n"
|
||||
" 7. ciąg o maksymalnej długości (format: \"cut:max,suffix,string\" lub "
|
||||
"\"cut:+max,suffix,string\")\n"
|
||||
" lub maksymalna ilość znaków wyświetlanych na ekranie (format: \"cutscr:"
|
||||
"max,suffix,string\" lub \"cutscr:+max,suffix,string\")\n"
|
||||
" 7. odwrócony ciąg (format: \"rev:xxx\")\n"
|
||||
" 8. powtórzony ciąg (format: \"repeat:ilość,ciąg\")\n"
|
||||
" 9. długość ciągu (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
|
||||
" 10. kolor (format \"color:xxx\", zobacz „Opis API wtyczek”, funkcja \"color"
|
||||
" 8. odwrócony ciąg (format: \"rev:xxx\")\n"
|
||||
" 9. powtórzony ciąg (format: \"repeat:ilość,ciąg\")\n"
|
||||
" 10. długość ciągu (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
|
||||
" 11. podział ciągu (format: \"split:number,separators,flags,xxx\")\n"
|
||||
" 12. podział argumentów powłoki (format: \"split_shell:number,xxx\")\n"
|
||||
" 13. kolor (format \"color:xxx\", zobacz „Opis API wtyczek”, funkcja \"color"
|
||||
"\")\n"
|
||||
" 11. modyfikator (format: \"modifier:name,data,string\")\n"
|
||||
" 12. informacja (format: \"info:nazwa,argumenty\", argumenty są "
|
||||
" 14. modyfikator (format: \"modifier:name,data,string\")\n"
|
||||
" 15. informacja (format: \"info:nazwa,argumenty\", argumenty są "
|
||||
"opcjonalne)\n"
|
||||
" 13. ciąg zakodowany/zdekodowany z base 16/32/64 (format: \"base_encode:"
|
||||
" 16. ciąg zakodowany/zdekodowany z base 16/32/64 (format: \"base_encode:"
|
||||
"base,xxx\" lub \"base_decode:base,xxx\")\n"
|
||||
" 14. obecna data/czas (format: \"date\" lub \"date:format\")\n"
|
||||
" 15. zmienna środowiskowa (format: \"env:XXX\")\n"
|
||||
" 16. wyrażenie warunkowe (format: \"if:condition?value_if_true:"
|
||||
"value_if_false\")\n"
|
||||
" 17. wynik wyrażenia z nawiasami i operatorami + - * / // % ** (format: "
|
||||
" 17. obecna data/czas (format: \"date\" lub \"date:format\")\n"
|
||||
" 18. zmienna środowiskowa (format: \"env:XXX\")\n"
|
||||
" 19. wyrażenie warunkowe (format: \"if:warunek?wartość_jeśli_prawda:"
|
||||
"wartość_jeśli_fałsz\")\n"
|
||||
" 20. wynik wyrażenia z nawiasami i operatorami + - * / // % ** (format: "
|
||||
"\"calc:xxx\")\n"
|
||||
" 18. przetłumaczony ciąg (format: \"translate:xxx\")\n"
|
||||
" 19. opcja (format: plik.sekcja.opcja)\n"
|
||||
" 20. zmienna lokalna w buforze\n"
|
||||
" 21. nazwa hdatay/zmiennej (wartość jest automatycznie konwertowana na ciąg "
|
||||
" 21. losowa liczba całkowita (format: \"random:min,max\")\n"
|
||||
" 22. przetłumaczony ciąg (format: \"translate:xxx\")\n"
|
||||
" 23. definiowanie zmiennej użytkownika (format: \"define:nazwa,wartość\")\n"
|
||||
" 24. opcja (format: plik.sekcja.opcja)\n"
|
||||
" 25. zmienna lokalna w buforze\n"
|
||||
" 26. nazwa hdatay/zmiennej (wartość jest automatycznie konwertowana na ciąg "
|
||||
"znaków), domyślnie „window” i „buffer” wskazują na aktualne okno/bufor.\n"
|
||||
"Format dla hdata może być jednym z poniższych:\n"
|
||||
" hdata.zmienna1.zmienna2...: inicjuje hdata (wskaźnik musi być znany), "
|
||||
@@ -2060,10 +1929,20 @@ msgstr ""
|
||||
" /eval -n ${rev:Hello} ==> olleH\n"
|
||||
" /eval -n ${repeat:5,-} ==> -----\n"
|
||||
" /eval -n ${length:test} ==> 4\n"
|
||||
" /eval -n ${split:1,,,abc,def,ghi} ==> abc\n"
|
||||
" /eval -n ${split:-1,,,abc,def,ghi} ==> ghi\n"
|
||||
" /eval -n ${split:count,,,abc,def,ghi} ==> 3\n"
|
||||
" /eval -n ${split:random,,,abc,def,ghi} ==> def\n"
|
||||
" /eval -n ${split_shell:1,\"arg 1\" arg2} ==> arg 1\n"
|
||||
" /eval -n ${split_shell:-1,\"arg 1\" arg2} ==> arg2\n"
|
||||
" /eval -n ${split_shell:count,\"arg 1\" arg2} ==> 2\n"
|
||||
" /eval -n ${split_shell:random,\"arg 1\" arg2} ==> arg2\n"
|
||||
" /eval -n ${calc:(5+2)*3} ==> 21\n"
|
||||
" /eval -n ${random:0,10} ==> 3\n"
|
||||
" /eval -n ${base_encode:64,test} ==> dGVzdA==\n"
|
||||
" /eval -n ${base_decode:64,dGVzdA==} ==> test\n"
|
||||
" /eval -n ${translate:Plugin} ==> Wtyczka\n"
|
||||
" /eval -n ${random:0,10} ==> 3\n"
|
||||
"\n"
|
||||
"Przykłady (warunki):\n"
|
||||
" /eval -n -c ${window.buffer.number} > 2 ==> 0\n"
|
||||
@@ -2271,69 +2150,6 @@ msgstr "funkcje linii komend"
|
||||
msgid "<action> [<arguments>]"
|
||||
msgstr "<akcja> [<argumenty>]"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "list of actions:\n"
|
||||
#| " return: simulate key \"enter\"\n"
|
||||
#| " complete_next: complete word with next completion\n"
|
||||
#| " complete_previous: complete word with previous completion\n"
|
||||
#| " search_text_here: search text in buffer at current position\n"
|
||||
#| " search_text: search text in buffer\n"
|
||||
#| " search_switch_case: switch exact case for search\n"
|
||||
#| " search_switch_regex: switch search type: string/regular expression\n"
|
||||
#| " search_switch_where: switch search in messages/prefixes\n"
|
||||
#| " search_previous: search previous line\n"
|
||||
#| " search_next: search next line\n"
|
||||
#| " search_stop_here: stop search at current position\n"
|
||||
#| " search_stop: stop search\n"
|
||||
#| " delete_previous_char: delete previous char\n"
|
||||
#| " delete_next_char: delete next char\n"
|
||||
#| " delete_previous_word: delete previous word\n"
|
||||
#| " delete_next_word: delete next word\n"
|
||||
#| " delete_beginning_of_line: delete from beginning of line until cursor\n"
|
||||
#| " delete_end_of_line: delete from cursor until end of line\n"
|
||||
#| " delete_line: delete entire line\n"
|
||||
#| " clipboard_paste: paste from the internal clipboard\n"
|
||||
#| " transpose_chars: transpose two chars\n"
|
||||
#| " undo: undo last command line action\n"
|
||||
#| " redo: redo last command line action\n"
|
||||
#| " move_beginning_of_line: move cursor to beginning of line\n"
|
||||
#| " move_end_of_line: move cursor to end of line\n"
|
||||
#| " move_previous_char: move cursor to previous char\n"
|
||||
#| " move_next_char: move cursor to next char\n"
|
||||
#| " move_previous_word: move cursor to previous word\n"
|
||||
#| " move_next_word: move cursor to next word\n"
|
||||
#| " history_previous: recall previous command in current buffer history\n"
|
||||
#| " history_next: recall next command in current buffer history\n"
|
||||
#| " history_global_previous: recall previous command in global history\n"
|
||||
#| " history_global_next: recall next command in global history\n"
|
||||
#| " jump_smart: jump to next buffer with activity\n"
|
||||
#| " jump_last_buffer_displayed: jump to last buffer displayed (before last "
|
||||
#| "jump to a buffer)\n"
|
||||
#| " jump_previously_visited_buffer: jump to previously visited buffer\n"
|
||||
#| " jump_next_visited_buffer: jump to next visited buffer\n"
|
||||
#| " 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)\n"
|
||||
#| " grab_key: grab a key (optional argument: delay for end of grab, default "
|
||||
#| "is 500 milliseconds)\n"
|
||||
#| " grab_key_command: grab a key with its associated command (optional "
|
||||
#| "argument: delay for end of grab, default is 500 milliseconds)\n"
|
||||
#| " grab_mouse: grab mouse event code\n"
|
||||
#| " grab_mouse_area: grab mouse event code with area\n"
|
||||
#| " set_unread: set unread marker for all buffers\n"
|
||||
#| " set_unread_current_buffer: set unread marker for current buffer\n"
|
||||
#| " switch_active_buffer: switch to next merged buffer\n"
|
||||
#| " switch_active_buffer_previous: switch to previous merged buffer\n"
|
||||
#| " zoom_merged_buffer: zoom on merged buffer\n"
|
||||
#| " insert: insert text in command line (escaped chars are allowed, see /"
|
||||
#| "help print)\n"
|
||||
#| " send: send text to the buffer\n"
|
||||
#| " paste_start: start paste (bracketed paste mode)\n"
|
||||
#| " paste_stop: stop paste (bracketed paste mode)\n"
|
||||
#| "\n"
|
||||
#| "This command is used by key bindings or plugins."
|
||||
msgid ""
|
||||
"list of actions:\n"
|
||||
" return: simulate key \"enter\"\n"
|
||||
@@ -2447,6 +2263,11 @@ msgstr ""
|
||||
"najniższy poziom na hotliście, \"highest\" czyści najwyższy poziom na "
|
||||
"hotliście, albo maska poziomu: liczba będąca kombinacją 1=join/part, "
|
||||
"2=wiadomość, 4=prywatny, 8=podświetlenie)\n"
|
||||
" hotlist_remove_buffer: usuwa obecny bufor z hotlisty\n"
|
||||
" hotlist_restore_buffer: przywraca ostatnią usuniętą hotlistę w obecnym "
|
||||
"buforze\n"
|
||||
" hotlist_restore_all: przywraca ostatnią usuniętą hotlistę we wszystkich "
|
||||
"buforach\n"
|
||||
" grab_key: przechwytuje klawisz (opcjonalny argument: opóźnienie końca "
|
||||
"przechwycenia, domyślnie jest to 500 milisekund)\n"
|
||||
" grab_key_command: przechwytuje klawisz z przypisaną komendą (opcjonalny "
|
||||
@@ -2730,17 +2551,14 @@ msgstr ""
|
||||
msgid "list/load/unload plugins"
|
||||
msgstr "lista/załaduj/wyładuj wtyczkę"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "list|listfull [<name>] || load <filename> [<arguments>] || autoload "
|
||||
#| "[<arguments>] || reload [<name>|* [<arguments>]] || unload [<name>]"
|
||||
msgid ""
|
||||
"list [-o|-ol|-i|-il|<name>] || listfull [<name>] || load <filename> "
|
||||
"[<arguments>] || autoload [<arguments>] || reload [<name>|* [<arguments>]] "
|
||||
"|| unload [<name>]"
|
||||
msgstr ""
|
||||
"list|listfull [<nazwa>] || load <nazwapliku> [<argumenty>] || autoload "
|
||||
"[<argumenty>] || reload [<nazwa>|* [<argumenty>]] || unload [<nazwa>]"
|
||||
"list [-o|-ol|-i|-il|<nazwa>] || listfull [<nazwa>] || load <nazwapliku> "
|
||||
"[<argumenty>] || autoload [<argumenty>] || reload [<nazwa>|* [<argumenty>]] "
|
||||
"|| unload [<nazwa>]"
|
||||
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
@@ -2762,6 +2580,26 @@ msgid ""
|
||||
"\n"
|
||||
"Without argument, this command lists loaded plugins."
|
||||
msgstr ""
|
||||
" list: lista załadowanych wtyczek\n"
|
||||
" -o: wyślij listę załadowanych wtyczek do bufora (ciąg po angielsku)\n"
|
||||
" -ol: wyślij listę załadowanych wtyczek do bufora (przetłumaczony "
|
||||
"ciąg)\n"
|
||||
" -i: skopiuj listę załadowanych wtyczek do linii poleceń (do wysłania "
|
||||
"do bufora) (ciąg po angielsku)\n"
|
||||
" -il: skopiuj listę załadowanych wtyczek do linii poleceń (do wysłania "
|
||||
"do bufora) (przetłumaczony ciąg)\n"
|
||||
" nazwa: nazwa wtyczki\n"
|
||||
" listfull: lista załadowanych wtyczek (ze szczegółami)\n"
|
||||
" load: załaduj wtyczkę\n"
|
||||
" nazwa_pliku: wtyczka (plik) do załadowania\n"
|
||||
"argumenty: argumenty przekazywane do wtyczki przy ładowaniu\n"
|
||||
" autoload: automatycznie ładuj wtyczki z katalogu systemowego lub "
|
||||
"użytkownika\n"
|
||||
" reload: przeładuj wtyczkę (bez podania nazwy wyładuje wszystkie wtyczki, "
|
||||
"następnie załaduje te ładowane automatycznie)\n"
|
||||
" unload: wyłącza wtyczkę (bez podania nazwy wyłącza wszystkie wtyczki)\n"
|
||||
"\n"
|
||||
"Bez argumentów polecenie pokaże listę załadowanych wtyczek."
|
||||
|
||||
msgid "display text on a buffer"
|
||||
msgstr "wyświetl tekst w buforze"
|
||||
@@ -3218,15 +3056,11 @@ msgstr ""
|
||||
" kasuje zmienną środowiskową ABC:\n"
|
||||
" /set env ABC \"\""
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "values for a configuration option"
|
||||
msgid "toggle value of a config option"
|
||||
msgstr "wartości opcji konfiguracyjnych"
|
||||
msgstr "przełącza wartość opcji konfiguracyjnej"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "[<file> [<file>...]]"
|
||||
msgid "<option> [<value> [<value>...]]"
|
||||
msgstr "[<plik> [<plik>...]]"
|
||||
msgstr "<opcja> [<wartość> [<wartość>...]]"
|
||||
|
||||
msgid ""
|
||||
"option: name of an option\n"
|
||||
@@ -3258,6 +3092,35 @@ msgid ""
|
||||
" toggle autojoin of #weechat channel on libera server:\n"
|
||||
" /toggle irc.server.libera.autojoin null #weechat"
|
||||
msgstr ""
|
||||
"opcja: nazwa opcji\n"
|
||||
" vartość: możliwe wartości dla opcji (wartości są dzielone jak argumenty "
|
||||
"komendy powłoki: można użyć cudzysłowów żeby zachować spacje na początku/"
|
||||
"końcu wartości)\n"
|
||||
"\n"
|
||||
"Zachowanie:\n"
|
||||
" - tylko opcje typu boolowskiego lub ciągi mogą być przełączane bez "
|
||||
"wartości:\n"
|
||||
" - boolowskie: przełączanie pomiędzy włączony/wyłączony zgodnie z "
|
||||
"obecną wartością\n"
|
||||
" - ciąg: przełącza między pustym ciągiem a domyślną wartością (działa "
|
||||
"tylko jeśli pusty ciąg może być użyty jako wartość opcji)\n"
|
||||
" - jeśli podano pojedynczą wartość, przełącza między nią a wartością "
|
||||
"domyślną dla danej opcji\n"
|
||||
" - jeśli podano wiele wartości, przełącza pomiędzy nimi; użyta wartość jest "
|
||||
"jedną z obecnych wartości dla opcji; jeśli obecna wartość nie znajduje się "
|
||||
"na liście, użyta zostanie pierwsza wartość z listy\n"
|
||||
" - specjalna wartość \"null\" może zostać podana, ale tylko jako pierwsza "
|
||||
"wartość na liście, bez cudzysłowów.\n"
|
||||
"\n"
|
||||
"Przykłady:\n"
|
||||
" przełącza wyświetlanie czasu w obszarze czatu (bez wyświetlania nowej, "
|
||||
"użytej wartości):\n"
|
||||
" /mute /toggle weechat.look.buffer_time_format\n"
|
||||
" przełącza format czasu w obszarze czatu (z sekundami, bez sekund, "
|
||||
"wyłączone):\n"
|
||||
" /toggle weechat.look.buffer_time_format \"%H:%M:%S\" \"%H:%M\" \"\"\n"
|
||||
" przełącza automatyczne dołączenie do kanału #weechat na serwerze libera:\n"
|
||||
" /toggle irc.server.libera.autojoin null #weechat"
|
||||
|
||||
msgid "unset/reset config options"
|
||||
msgstr "skasuj/zresetuj zmienną konfiguracyjną"
|
||||
@@ -8119,43 +7982,13 @@ msgstr "cel: nazwa serwera"
|
||||
msgid "execute a command on all channels of all connected servers"
|
||||
msgstr "wykonuje komendę na wszystkich kanałach na połączonych serwerach"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "[-current] [-exclude=<channel>[,<channel>...]] <command> || [-current] -"
|
||||
#| "include=<channel>[,<channel>...] <command>"
|
||||
msgid ""
|
||||
"[-current] [-parted] [-exclude=<channel>[,<channel>...]] <command> || [-"
|
||||
"current] [-parted] -include=<channel>[,<channel>...] <command>"
|
||||
msgstr ""
|
||||
"[-current] [-exclude=<kanał>[,<kanał>...]] <komenda> || [-current] -"
|
||||
"include=<kanał>[,<kanał>...] <komenda>"
|
||||
"[-current] [-parted] [-exclude=<kanał>[,<kanał>...]] <komenda> || [-current] "
|
||||
"[-parted] -include=<kanał>[,<kanał>...] <komenda>"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " -current: execute command for channels of current server only\n"
|
||||
#| " -exclude: exclude some channels (wildcard \"*\" is allowed)\n"
|
||||
#| " -include: include only some channels (wildcard \"*\" is allowed)\n"
|
||||
#| " command: command to execute (or text to send to buffer if command does "
|
||||
#| "not start with '/')\n"
|
||||
#| "\n"
|
||||
#| "Command and arguments are evaluated (see /help eval), the following "
|
||||
#| "variables are replaced:\n"
|
||||
#| " $server server name\n"
|
||||
#| " $channel channel name\n"
|
||||
#| " $nick nick on server\n"
|
||||
#| " ${irc_server.xxx} variable xxx in server\n"
|
||||
#| " ${irc_channel.xxx} variable xxx in channel\n"
|
||||
#| "\n"
|
||||
#| "Examples:\n"
|
||||
#| " execute '/me is testing' on all channels:\n"
|
||||
#| " /allchan /me is testing\n"
|
||||
#| " say 'hello' everywhere but not on #weechat:\n"
|
||||
#| " /allchan -exclude=#weechat hello\n"
|
||||
#| " say 'hello' everywhere but not on #weechat and channels beginning with "
|
||||
#| "#linux:\n"
|
||||
#| " /allchan -exclude=#weechat,#linux* hello\n"
|
||||
#| " say 'hello' on all channels beginning with #linux:\n"
|
||||
#| " /allchan -include=#linux* hello"
|
||||
msgid ""
|
||||
" -current: execute command for channels of current server only\n"
|
||||
" -parted: execute on parted channels only\n"
|
||||
@@ -8186,6 +8019,7 @@ msgid ""
|
||||
" /allchan -parted /close"
|
||||
msgstr ""
|
||||
" -current: wykonuje komendę tylko na kanałach obecnego serwera\n"
|
||||
" -parted: wykonaj tylko na opuszczonych kanałach\n"
|
||||
" -exclude: wyklucza niektóre kanały (wildcard \"*\" jest dozwolony)\n"
|
||||
" -include: uwzględnia tylko niektóre znaki (wildcard \"*\" est dozwolony)\n"
|
||||
" komenda: komenda do wykonania (albo tekst do wysłania do bufora jeśli "
|
||||
@@ -8208,7 +8042,9 @@ msgstr ""
|
||||
"#linux:\n"
|
||||
" /allchan -exclude=#weechat,#linux* witam\n"
|
||||
" wysyła 'witam' na wszytkich kanałach zaczynających się od #linux:\n"
|
||||
" /allchan -include=#linux* witam"
|
||||
" /allchan -include=#linux* witam\n"
|
||||
" zamyka wszystkie bufory opuszczonych kanałów:\n"
|
||||
" /allchan -parted /close"
|
||||
|
||||
msgid "execute a command on all private buffers of all connected servers"
|
||||
msgstr ""
|
||||
@@ -10500,12 +10336,18 @@ msgid ""
|
||||
"look.enabled_nicks must be enabled and capability \"message-tags\" must be "
|
||||
"enabled on the server)"
|
||||
msgstr ""
|
||||
"wyświetlaj nicki osób, które coś piszą w elemencie paska \"typing\" (opcja "
|
||||
"typing.look.enabled_nicks musi zostać włączona i opcja \"message-tags\" musi "
|
||||
"być wspierana przez serwer)"
|
||||
|
||||
msgid ""
|
||||
"send self typing status to channels so that other users see when you are "
|
||||
"typing a message (option typing.look.enabled_self must be enabled and "
|
||||
"capability \"message-tags\" must be enabled on the server)"
|
||||
msgstr ""
|
||||
"wyślij status pisania do kanałów tak, że inni użytkownicy będą mogli "
|
||||
"zobaczyć, kiedy piszesz wiadomość (opcja typing.look.enabled_self musi "
|
||||
"zostać włączona i opcja \"message-tags\" musi być wspierana przez serwer)"
|
||||
|
||||
msgid ""
|
||||
"merge server buffers; this option has no effect if a layout is saved and is "
|
||||
@@ -10897,22 +10739,26 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\": tagi, \"tag_xxx\": niewyescapowana wartość tagu \"xxx\" (jeden "
|
||||
"klucz per tag), \"message_without_tags\": wiadomość bez tagów, \"nick\": "
|
||||
"nick, \"user\": użytkownik, \"host\": host, \"command\": komenda, \"channel"
|
||||
"\": kanał, \"arguments\": argumenty (razem z kanałem), \"text\": tekst (na "
|
||||
"przykład wiadomość użytkownika), \"pos_command\": indeks wiadomości \"command"
|
||||
"\" (\"-1\" jeśli \"command\" nie zostało znalezione), \"pos_arguments\": "
|
||||
"indeks wiadomości \"arguments\" (\"-1\" jeśli \"arguments\" nie zostało "
|
||||
"znalezione), \"pos_channel\": indeks wiadomości \"channel\" (\"-1\" jeśli "
|
||||
"\"channel\" nie zostało znalezione), \"pos_text\": indeks słowa \"text"
|
||||
"\" (\"-1\" jeśli \"text\" nie zostało znalezione)"
|
||||
"przykład wiadomość użytkownika), \"param1\" ... \"paramN\": sparsaowane "
|
||||
"parametry komendy, \"num_params\": ilość sparsowanych parametrów komendy, "
|
||||
"\"pos_command\": indeks wiadomości \"command\" (\"-1\" jeśli \"command\" nie "
|
||||
"zostało znalezione), \"pos_arguments\": indeks wiadomości \"arguments"
|
||||
"\" (\"-1\" jeśli \"arguments\" nie zostało znalezione), \"pos_channel\": "
|
||||
"indeks wiadomości \"channel\" (\"-1\" jeśli \"channel\" nie zostało "
|
||||
"znalezione), \"pos_text\": indeks słowa \"text\" (\"-1\" jeśli \"text\" nie "
|
||||
"zostało znalezione)"
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
msgstr "dziel wiadomość IRC (aby zmieściła się domyślnie w 512 bajtach)"
|
||||
@@ -11211,15 +11057,13 @@ msgstr "%s%s%s%s%s%s%s%s%s%s wyszedł z IRC %s(%s%s%s)"
|
||||
msgid "%s%s%s%s%s%s%s%s%s%s has quit"
|
||||
msgstr "%s%s%s%s%s%s%s%s%s%s wyszedł z IRC"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%sReal name set to: %s"
|
||||
#, c-format
|
||||
msgid "%sYour real name has been set to \"%s\""
|
||||
msgstr "%sUstawiono real name na: %s"
|
||||
msgstr "%sUstawiono twój real name na \"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%sReal name set to: %s"
|
||||
#, c-format
|
||||
msgid "%sReal name of %s%s%s has been set to \"%s\""
|
||||
msgstr "%sUstawiono real name na: %s"
|
||||
msgstr "%sReal name dla %s%s%s zostało zmienione na \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without channel"
|
||||
@@ -11468,24 +11312,26 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s uciszony"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgstr "%s%s: nie znaleziono komendy \"%s\":"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr "%s%s: nie udało się wykonać komendy \"%s\" (zgłoś problem autorom):"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: komenda \"%s\" nie została znaleziona: \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: pozyskano za mało argumentów od serwera IRC dla komendy \"%s"
|
||||
"\" (otrzymano: %d argumentów, spodziewano się przynajmniej %d)"
|
||||
"%s%s: nie udało się sparsować komendy \"%s\" (zgłoś problem twórcą): \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s%s: \"%s\" komenda otrzymana bez hosta"
|
||||
msgid ""
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: otrzymano za mało argumentów dla komendy \"%s\" (otrzymano: %d, "
|
||||
"spodziewano się: przynajmniej %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: komenda \"%s\" otrzymana bez nicka"
|
||||
|
||||
#, c-format
|
||||
msgid "IRC raw messages | Filter: %s"
|
||||
@@ -15017,42 +14863,56 @@ msgid "text color for disabled trigger name"
|
||||
msgstr "kolor tekstu dla nazwy wyłączonego triggera"
|
||||
|
||||
msgid "Typing status of users"
|
||||
msgstr ""
|
||||
msgstr "Status pisania użytkowników"
|
||||
|
||||
#. TRANSLATORS: this text is displayed before the list of nicks typing in the bar item "typing", it must be as short as possible
|
||||
msgid "Typing:"
|
||||
msgstr ""
|
||||
msgstr "Typing:"
|
||||
|
||||
msgid ""
|
||||
"number of seconds after paused status has been set: if reached, the typing "
|
||||
"status is removed"
|
||||
msgstr ""
|
||||
"ilość sekund po ustawieniu statusu pauzy: jeśli osiągnięty, status pisania "
|
||||
"zostaje usunięty"
|
||||
|
||||
msgid ""
|
||||
"number of seconds after typing status has been set: if reached, the typing "
|
||||
"status is removed"
|
||||
msgstr ""
|
||||
"ilość sekund po ustawieniu statusu o pisaniu: jeśli osiągnięte, status "
|
||||
"pisania zostaje usunięty"
|
||||
|
||||
msgid ""
|
||||
"number of seconds after typing last char: if reached, the typing status "
|
||||
"becomes \"paused\" and no more typing signals are sent"
|
||||
msgstr ""
|
||||
"ilość sekund po napisaniu ostatniego znaku: jeśli osiągnięte, status pisania "
|
||||
"zmieni się na \"paused\" i kolejne sygnały nie będą wysyłane"
|
||||
|
||||
msgid ""
|
||||
"typing enabled for other nicks (display typing info for nicks typing in the "
|
||||
"current buffer)"
|
||||
msgstr ""
|
||||
"powiadomienia o pisaniu przez innych włączone (wyświetlaj informacje o tym "
|
||||
"że inne osoby piszą coś w obecnym buforze)"
|
||||
|
||||
msgid "typing enabled for self messages (send typing info to other users)"
|
||||
msgstr ""
|
||||
"wysylanie informacji o pisaniu włączone (wysyłaj tą informację do innych "
|
||||
"użytkowników)"
|
||||
|
||||
msgid "min number of chars in message to trigger send of typing signals"
|
||||
msgstr ""
|
||||
"minimalna ilość znaków w wiadomości po której zostaną wysłane sygnały o "
|
||||
"pisaniu wiadomości"
|
||||
|
||||
msgid ""
|
||||
"max number of chars displayed in the bar item \"typing\" (0 = do not "
|
||||
"truncate content)"
|
||||
msgstr ""
|
||||
"maksymalna ilość znaków wyświetlana w elemencie paska \"typing\" (0 = nie "
|
||||
"ograniczaj zawartości)"
|
||||
|
||||
msgid " [A] Accept"
|
||||
msgstr " [A] Akceptuj"
|
||||
@@ -15505,32 +15365,3 @@ msgstr "%s%s: przekroczono czas na \"%s\" z %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: nie można połączyć: niespodziewany błąd (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: lista załadowanych wtyczek\n"
|
||||
#~ "listfull: lista załadowanych wtyczek (szczegółowa)\n"
|
||||
#~ " load: ładuje wtyczkę\n"
|
||||
#~ "autoload: automatycznie ładuje wtyczki w katalogu systemowym lub "
|
||||
#~ "użytkownika\n"
|
||||
#~ " reload: przeładuje pojedynczą wtyczkę (jeśli nie podano nazwy, "
|
||||
#~ "przeładuje wszystkie wtyczki)\n"
|
||||
#~ " unload: wyładowuje wtyczkę (jeśli nie podano nazwy, wyładuje wszystkie "
|
||||
#~ "wtyczkę\n"
|
||||
#~ "nazwapliku: wtyczka (plik) do załadowania\n"
|
||||
#~ " nazwa: nazwa wtyczki\n"
|
||||
#~ "argumenty: argumenty przekazywane do wtyczki podczas ładowania\n"
|
||||
#~ "\n"
|
||||
#~ "Bez argumentów ta komenda wyświetli wszystkie załadowane wtyczki."
|
||||
|
||||
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||
"Language-Team: Portuguese <>\n"
|
||||
"Language: pt\n"
|
||||
@@ -165,7 +165,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -10304,11 +10304,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"tags\": tags, \"message_without_tags\": mensagem sem as tags, \"nick\": "
|
||||
"nick, \"host\": anfitrião, \"command\": comando, \"channel\": canal, "
|
||||
@@ -10874,26 +10876,33 @@ msgstr "%s%s[%s%s%s] %s%s%s silenciado por %s"
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s silenciado"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: comando \"%s\" não encontrado:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: falha ao analisar o comando \"%s\" (por favor reporte aos "
|
||||
"desenvolvedores):"
|
||||
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
#| msgid ""
|
||||
#| "%s%s: too few arguments received from client %s%s%s for command \"%s"
|
||||
#| "\" (received: %d arguments, expected: at least %d)"
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: argumentos insuficientes recebidos do servidor IRC pelo comando \"%s"
|
||||
"%s%s: argumentos insuficientes recebidos do cliente %s%s%s pelo comando \"%s"
|
||||
"\" (recebido: %d argumentos, esperado: pelo menos %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: comando \"%s\" recebido sem host"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -14844,32 +14853,3 @@ msgstr "%s%s: tempo limite de \"%s\" com %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: não foi possível conectar: erro inesperado (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: listar os plugins carregados\n"
|
||||
#~ " listfull: listar os plugins carregados (verboso)\n"
|
||||
#~ " load: carregar um plugin\n"
|
||||
#~ " autoload: carregar plugins do sistema ou do diretório do utilizador "
|
||||
#~ "automaticamente\n"
|
||||
#~ " reload: recarregar um plugin (se não indicar nenhum nome, descarregar "
|
||||
#~ "todos os plugins, e carregá-los automaticamente)\n"
|
||||
#~ " unload: descarregar um plugin (se não indicar nenhum nome, "
|
||||
#~ "descarregar todos os plugins)\n"
|
||||
#~ " ficheiro: o plugin (ficheiro) a carregar\n"
|
||||
#~ " nome: um nome de um plugin\n"
|
||||
#~ "argumentos: argumentos passados ao plugin ao carregá-lo\n"
|
||||
#~ "\n"
|
||||
#~ "Sem argumentos, este comando lista os plugins carregados."
|
||||
|
||||
+24
-46
@@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -191,7 +191,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -9055,11 +9055,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"\"nick\": apelido, \"host\": host, \"command\": comando, \"channel\": canal, "
|
||||
"\"arguments\": argumentos (inclui canal)"
|
||||
@@ -9616,26 +9618,30 @@ msgstr "%s%s[%s%s%s] %s%s%s convidado por %s%s %s(%s%s%s)"
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s convidado por %s%s %s(%s%s%s)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: comando \"%s\" não encontrando:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: falha ao interpretar comando \"%s\" (por favor, reporte aos "
|
||||
"desenvolvedores):"
|
||||
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: argumentos insuficientes recebidos do servidor IRC para o comando \"%s"
|
||||
"%s%s: argumentos insuficientes recebidos do cliente %d para o comando \"%s"
|
||||
"\" (recebidos: %d argumentos, esperados: ao menos %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: \"%s\" comando recebido sem host"
|
||||
|
||||
#, c-format
|
||||
@@ -13271,31 +13277,3 @@ msgstr "%s%s: tempo esgotado para \"%s\" com %s"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: não foi possível conectar ao remetente"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: lista plugins carregados\n"
|
||||
#~ " listfull: lista plugins carregados (detalhadamente)\n"
|
||||
#~ " load: carrega um plugin\n"
|
||||
#~ " autoload: carrega automaticamente os plugins nos diretórios do sistema "
|
||||
#~ "ou do usuário\n"
|
||||
#~ " reload: recarrega um plugin (se nenhum nome for fornecido, descarrega "
|
||||
#~ "todos os plugins, então realiza autoload nos plugins)\n"
|
||||
#~ " unload: descarrega um ou todos os plugins\n"
|
||||
#~ " filename: plugin (arquivo) a ser carregado\n"
|
||||
#~ " name: o nome de um plugin\n"
|
||||
#~ "arguments: argumentos passados ao plugin no carregamento\n"
|
||||
#~ "\n"
|
||||
#~ "Sem argumentos, este comando lista plugins carregados."
|
||||
|
||||
@@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-03 12:02+0100\n"
|
||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: ru\n"
|
||||
@@ -179,7 +179,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -8648,11 +8648,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
@@ -9223,21 +9225,22 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s[%s%s%s] %s%s%s забанен пользователем "
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s plugin \"%s\" не найден\n"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr ""
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr "Не могу записать лог-файл \"%s\"\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s \"%s\" команда получена без хоста\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
@@ -12820,29 +12823,3 @@ msgstr "%s нет аргумента для параметра \"%s\"\n"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s DCC: не могу соединиться с отправителем\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: перечислить загруженные pluginы\n"
|
||||
#~ "listfull: перечислить загруженные pluginы с дополнительной информацией\n"
|
||||
#~ " load: загрузить plugin\n"
|
||||
#~ "autoload: автоматическая загрузка pluginов из системной или "
|
||||
#~ "пользовательской директории\n"
|
||||
#~ " reload: перезагрузить plugin (если имя не задано выгружает все pluginы "
|
||||
#~ "и загружает автоматически загружаемые)\n"
|
||||
#~ " unload: выгружает один или все pluginы\n"
|
||||
#~ "\n"
|
||||
#~ "Команда /plugin без аргументов перечисляет загруженные pluginы."
|
||||
|
||||
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"PO-Revision-Date: 2021-09-01 02:38+0400\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-12-13 13:14+0400\n"
|
||||
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: sr\n"
|
||||
@@ -162,7 +162,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -814,10 +814,8 @@ msgstr "Није пронађен ниједан додатак"
|
||||
msgid " (no plugin)"
|
||||
msgstr " (нема додатка)"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "Plugins loaded:"
|
||||
msgid "No plugins loaded"
|
||||
msgstr "Учитани додаци:"
|
||||
msgstr "Није учитан ниједан додатак"
|
||||
|
||||
msgid "List of proxies:"
|
||||
msgstr "Листа проксија:"
|
||||
@@ -1643,143 +1641,6 @@ msgid ""
|
||||
"<expression2>"
|
||||
msgstr "[-n|-s] [-d] <израз> || [-n] [-d [-d]] -c <израз1> <оператор> <израз2>"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| " -n: display result without sending it to buffer (debug mode)\n"
|
||||
#| " -s: split expression before evaluating it (many commands can be "
|
||||
#| "separated by semicolons)\n"
|
||||
#| " -d: display debug output after evaluation (with two -d: more "
|
||||
#| "verbose debug)\n"
|
||||
#| " -c: evaluate as condition: use operators and parentheses, return "
|
||||
#| "a boolean value (\"0\" or \"1\")\n"
|
||||
#| "expression: expression to evaluate, variables with format ${variable} are "
|
||||
#| "replaced (see below); many commands can be separated by semicolons\n"
|
||||
#| " operator: a logical or comparison operator:\n"
|
||||
#| " - logical operators:\n"
|
||||
#| " && boolean \"and\"\n"
|
||||
#| " || boolean \"or\"\n"
|
||||
#| " - comparison operators:\n"
|
||||
#| " == equal\n"
|
||||
#| " != not equal\n"
|
||||
#| " <= less or equal\n"
|
||||
#| " < less\n"
|
||||
#| " >= greater or equal\n"
|
||||
#| " > greater\n"
|
||||
#| " =~ is matching POSIX extended regex\n"
|
||||
#| " !~ is NOT matching POSIX extended regex\n"
|
||||
#| " ==* is matching mask, case sensitive (wildcard \"*\" is "
|
||||
#| "allowed)\n"
|
||||
#| " !!* is NOT matching mask, case sensitive (wildcard \"*\" "
|
||||
#| "is allowed)\n"
|
||||
#| " =* is matching mask, case insensitive (wildcard \"*\" "
|
||||
#| "is allowed)\n"
|
||||
#| " !* is NOT matching mask, case insensitive (wildcard \"*"
|
||||
#| "\" is allowed)\n"
|
||||
#| " ==- is included, case sensitive\n"
|
||||
#| " !!- is NOT included, case sensitive\n"
|
||||
#| " =- is included, case insensitive\n"
|
||||
#| " !- is NOT included, case insensitive\n"
|
||||
#| "\n"
|
||||
#| "An expression is considered as \"true\" if it is not NULL, not empty, and "
|
||||
#| "different from \"0\".\n"
|
||||
#| "The comparison is made using floating point numbers if the two "
|
||||
#| "expressions are valid numbers, with one of the following formats:\n"
|
||||
#| " - integer (examples: 5, -7)\n"
|
||||
#| " - floating point number (examples: 5.2, -7.5, 2.83e-2)\n"
|
||||
#| " - hexadecimal number (examples: 0xA3, -0xA3)\n"
|
||||
#| "To force a string comparison, you can add double quotes around each "
|
||||
#| "expression, for example:\n"
|
||||
#| " 50 > 100 ==> 0\n"
|
||||
#| " \"50\" > \"100\" ==> 1\n"
|
||||
#| "\n"
|
||||
#| "Some variables are replaced in expression, using the format ${variable}, "
|
||||
#| "variable can be, by order of priority:\n"
|
||||
#| " 1. the string itself without evaluation (format: \"raw:xxx\")\n"
|
||||
#| " 2. an evaluated sub-string (format: \"eval:xxx\")\n"
|
||||
#| " 3. an evaluated condition (format: \"eval_cond:xxx\")\n"
|
||||
#| " 4. a string with escaped chars (format: \"esc:xxx\" or \"\\xxx\")\n"
|
||||
#| " 5. a string with chars to hide (format: \"hide:char,string\")\n"
|
||||
#| " 6. a string with max chars (format: \"cut:max,suffix,string\" or \"cut:"
|
||||
#| "+max,suffix,string\")\n"
|
||||
#| " or max chars displayed on screen (format: \"cutscr:max,suffix,string"
|
||||
#| "\" or \"cutscr:+max,suffix,string\")\n"
|
||||
#| " 7. a reversed string (format: \"rev:xxx\" or \"revscr:xxx\")\n"
|
||||
#| " 8. a repeated string (format: \"repeat:count,string\")\n"
|
||||
#| " 9. length of a string (format: \"length:xxx\" or \"lengthscr:xxx\")\n"
|
||||
#| " 10. a color (format: \"color:xxx\", see \"Plugin API reference\", "
|
||||
#| "function \"color\")\n"
|
||||
#| " 11. a modifier (format: \"modifier:name,data,string\")\n"
|
||||
#| " 12. an info (format: \"info:name,arguments\", arguments are optional)\n"
|
||||
#| " 13. a base 16/32/64 encoded/decoded string (format: \"base_encode:base,"
|
||||
#| "xxx\" or \"base_decode:base,xxx\")\n"
|
||||
#| " 14. current date/time (format: \"date\" or \"date:format\")\n"
|
||||
#| " 15. an environment variable (format: \"env:XXX\")\n"
|
||||
#| " 16. a ternary operator (format: \"if:condition?value_if_true:"
|
||||
#| "value_if_false\")\n"
|
||||
#| " 17. result of an expression with parentheses and operators + - * / // % "
|
||||
#| "** (format: \"calc:xxx\")\n"
|
||||
#| " 18. a random integer number (format: \"random:min,max\")\n"
|
||||
#| " 19. a translated string (format: \"translate:xxx\")\n"
|
||||
#| " 20. an option (format: \"file.section.option\")\n"
|
||||
#| " 21. a local variable in buffer\n"
|
||||
#| " 22. a hdata name/variable (the value is automatically converted to "
|
||||
#| "string), by default \"window\" and \"buffer\" point to current window/"
|
||||
#| "buffer.\n"
|
||||
#| "Format for hdata can be one of following:\n"
|
||||
#| " hdata.var1.var2...: start with a hdata (pointer must be known), and ask "
|
||||
#| "variables one after one (other hdata can be followed)\n"
|
||||
#| " hdata[list].var1.var2...: start with a hdata using a list/pointer/"
|
||||
#| "pointer name, for example:\n"
|
||||
#| " ${buffer[gui_buffers].full_name}: full name of first buffer in linked "
|
||||
#| "list of buffers\n"
|
||||
#| " ${plugin[weechat_plugins].name}: name of first plugin in linked list "
|
||||
#| "of plugins\n"
|
||||
#| " hdata[pointer].var1.var2...: start with a hdata using a pointer, for "
|
||||
#| "example:\n"
|
||||
#| " ${buffer[0x1234abcd].full_name}: full name of the buffer with this "
|
||||
#| "pointer (can be used in triggers)\n"
|
||||
#| " ${buffer[my_pointer].full_name}: full name of the buffer with this "
|
||||
#| "pointer name (can be used in triggers)\n"
|
||||
#| "For name of hdata and variables, please look at \"Plugin API reference\", "
|
||||
#| "function \"weechat_hdata_get\".\n"
|
||||
#| "\n"
|
||||
#| "Examples (simple strings):\n"
|
||||
#| " /eval -n ${raw:${info:version}} ==> ${info:version}\n"
|
||||
#| " /eval -n ${eval_cond:${window.win_width}>100} ==> 1\n"
|
||||
#| " /eval -n ${info:version} ==> 0.4.3\n"
|
||||
#| " /eval -n ${env:HOME} ==> /home/user\n"
|
||||
#| " /eval -n ${weechat.look.scroll_amount} ==> 3\n"
|
||||
#| " /eval -n ${sec.data.password} ==> secret\n"
|
||||
#| " /eval -n ${window} ==> 0x2549aa0\n"
|
||||
#| " /eval -n ${window.buffer} ==> 0x2549320\n"
|
||||
#| " /eval -n ${window.buffer.full_name} ==> core.weechat\n"
|
||||
#| " /eval -n ${window.buffer.number} ==> 1\n"
|
||||
#| " /eval -n ${\\t} ==> <tab>\n"
|
||||
#| " /eval -n ${hide:-,${relay.network.password}} ==> --------\n"
|
||||
#| " /eval -n ${cut:3,+,test} ==> tes+\n"
|
||||
#| " /eval -n ${cut:+3,+,test} ==> te+\n"
|
||||
#| " /eval -n ${date:%H:%M:%S} ==> 07:46:40\n"
|
||||
#| " /eval -n ${if:${info:term_width}>80?big:small} ==> big\n"
|
||||
#| " /eval -n ${rev:Hello} ==> olleH\n"
|
||||
#| " /eval -n ${repeat:5,-} ==> -----\n"
|
||||
#| " /eval -n ${length:test} ==> 4\n"
|
||||
#| " /eval -n ${calc:(5+2)*3} ==> 21\n"
|
||||
#| " /eval -n ${random:0,10} ==> 3\n"
|
||||
#| " /eval -n ${base_encode:64,test} ==> dGVzdA==\n"
|
||||
#| " /eval -n ${base_decode:64,dGVzdA==} ==> test\n"
|
||||
#| " /eval -n ${translate:Plugin} ==> Extension\n"
|
||||
#| "\n"
|
||||
#| "Examples (conditions):\n"
|
||||
#| " /eval -n -c ${window.buffer.number} > 2 ==> 0\n"
|
||||
#| " /eval -n -c ${window.win_width} > 100 ==> 1\n"
|
||||
#| " /eval -n -c (8 > 12) || (5 > 2) ==> 1\n"
|
||||
#| " /eval -n -c (8 > 12) && (5 > 2) ==> 0\n"
|
||||
#| " /eval -n -c abcd =~ ^ABC ==> 1\n"
|
||||
#| " /eval -n -c abcd =~ (?-i)^ABC ==> 0\n"
|
||||
#| " /eval -n -c abcd =~ (?-i)^abc ==> 1\n"
|
||||
#| " /eval -n -c abcd !~ abc ==> 0\n"
|
||||
#| " /eval -n -c abcd =* a*d ==> 1\n"
|
||||
#| " /eval -n -c abcd =- bc ==> 1"
|
||||
msgid ""
|
||||
" -n: display result without sending it to buffer (debug mode)\n"
|
||||
" -s: split expression before evaluating it (many commands can be "
|
||||
@@ -1981,39 +1842,44 @@ msgstr ""
|
||||
"У изразима се замењују неке променљиве, користећи формат ${променљива}, "
|
||||
"променљива може да буде, према редоследу приоритета:\n"
|
||||
" 1. сам стринг без израчунавања (формат: „raw:xxx”)\n"
|
||||
" 2. израчунати под-стринг (формат: „eval:xxx”)\n"
|
||||
" 3. израчунати услов (формат: „eval_cond:xxx”)\n"
|
||||
" 4. стринг са означеним карактерима (формат: „esc:xxx” или „\\xxx”)\n"
|
||||
" 5. стринг са карактерима за сакривање (формат: „hide:кар,стринг”)\n"
|
||||
" 6. стринг са највише карактера (формат: „cut:макс,суфикс,стринг” или „cut:"
|
||||
" 2. кориснички дефинисана променљива (формат: „име”)\n"
|
||||
" 3. израчунати под-стринг (формат: „eval:xxx”)\n"
|
||||
" 4. израчунати услов (формат: „eval_cond:xxx”)\n"
|
||||
" 5. стринг са означеним карактерима (формат: „esc:xxx” или „\\xxx”)\n"
|
||||
" 6. стринг са карактерима за сакривање (формат: „hide:кар,стринг”)\n"
|
||||
" 7. стринг са највише карактера (формат: „cut:макс,суфикс,стринг” или „cut:"
|
||||
"+макс,суфикс,стринг\")\n"
|
||||
" или макс број карактера који се приказује на екрану (формат: „cutscr:"
|
||||
"макс,суфикс,стринг” или „cutscr:+макс,суфикс,стринг”)\n"
|
||||
" 7. обрнути стринг (формат: „rev:xxx” или „revscr:xxx”)\n"
|
||||
" 8. поновљени стринг (формат: „repeat:број,стринг”)\n"
|
||||
" 9. дужина стринга (формат: „length:xxx” или „lengthscr:xxx”)\n"
|
||||
" 10. боја (формат: „color:xxx”, погледајте „Референтни приручник API "
|
||||
" 8. обрнути стринг (формат: „rev:xxx” или „revscr:xxx”)\n"
|
||||
" 9. поновљени стринг (формат: „repeat:број,стринг”)\n"
|
||||
" 10. дужина стринга (формат: „length:xxx” или „lengthscr:xxx”)\n"
|
||||
" 11. подела стринга (формат: „split:број,сепаратори,заставице,xxx”)\n"
|
||||
" 12. подела аргумената љуске (формат: „split_shell:број,xxx”)\n"
|
||||
" 13. боја (формат: „color:xxx”, погледајте „Референтни приручник API "
|
||||
"додатака”, функција „color”)\n"
|
||||
" 11. модификатор (формат: „modifier:име,подаци,стринг”)\n"
|
||||
" 12. инфо (формат: „info:име,аргументи”, аргументи нису обавезни)\n"
|
||||
" 13. base 16/32/64 шифриран/дешифрован стринг (формат: „base_encode:основа,"
|
||||
" 14. модификатор (формат: „modifier:име,подаци,стринг”)\n"
|
||||
" 15. инфо (формат: „info:име,аргументи”, аргументи нису обавезни)\n"
|
||||
" 16. base 16/32/64 шифриран/дешифрован стринг (формат: „base_encode:основа,"
|
||||
"xxx” или „base_decode:основа,xxx”)\n"
|
||||
" 14. текући датум/време (формат: „date” или „date:формат”)\n"
|
||||
" 15. променљива окружења (формат: „env:XXX”)\n"
|
||||
" 16. тернарни оператор (формат: „if:услов?вредност_ако_је_тачно:"
|
||||
" 17. текући датум/време (формат: „date” или „date:формат”)\n"
|
||||
" 18. променљива окружења (формат: „env:XXX”)\n"
|
||||
" 19. тернарни оператор (формат: „if:услов?вредност_ако_је_тачно:"
|
||||
"вредност_ако_је_нетачно”)\n"
|
||||
" 17. резултат израза са заградама и операторима + - * / // % ** (формат: "
|
||||
" 20. резултат израза са заградама и операторима + - * / // % ** (формат: "
|
||||
"„calc:xxx”)\n"
|
||||
" 18. случајни целобројни број (формат: „random:мин,макс”)\n"
|
||||
" 19. преведени стринг (формат: „translate:xxx”)\n"
|
||||
" 20. опција (формат: „фајл.секција.опција”)\n"
|
||||
" 21. локална променљива у баферу\n"
|
||||
" 22. hdata име/променљива (вредност се аутоматски конвертује у стринг), "
|
||||
" 21. случајни целобројни број (формат: „random:мин,макс”)\n"
|
||||
" 22. преведени стринг (формат: „translate:xxx”)\n"
|
||||
" 23. дефиниција корисничке промонљиве (формат: „define:име,вредност”)\n"
|
||||
" 24. опција (формат: „фајл.секција.опција”)\n"
|
||||
" 25. локална променљива у баферу\n"
|
||||
" 26. hdata име/променљива (вредност се аутоматски конвертује у стринг), "
|
||||
"„window” и „buffer” подразумевано показују на текући прозор/бафер.\n"
|
||||
"Формат за hdata може да буде једно од следећег:\n"
|
||||
" hdata.пром1.пром2...: почиње са hdata (показивач мора да буде познат), и "
|
||||
"пита променљиве једну за другом (могу да следе и остала hdata)\n"
|
||||
" hdata[листа].пром1.пром2...: почиње са hdata користећи листу, на пример:\n"
|
||||
" hdata[листа].пром1.пром2...: почиње са hdata користећи листу/показивач/име "
|
||||
"показивача, на пример:\n"
|
||||
" ${buffer[gui_buffers].full_name}: пуно име првог бафера у увезаној листи "
|
||||
"бафера\n"
|
||||
" ${plugin[weechat_plugins].name}: име првог бафера у увезаној листи "
|
||||
@@ -2028,30 +1894,39 @@ msgstr ""
|
||||
"приручник API додатака”, функцију „weechat_hdata_get”.\n"
|
||||
"\n"
|
||||
"Примери (једноставни стрингови):\n"
|
||||
" /eval -n ${raw:${info:version}} ==> ${info:version}\n"
|
||||
" /eval -n ${eval_cond:${window.win_width}>100} ==> 1\n"
|
||||
" /eval -n ${info:version} ==> 0.4.3\n"
|
||||
" /eval -n ${env:HOME} ==> /home/user\n"
|
||||
" /eval -n ${weechat.look.scroll_amount} ==> 3\n"
|
||||
" /eval -n ${sec.data.freenode_password} ==> secret\n"
|
||||
" /eval -n ${window} ==> 0x2549aa0\n"
|
||||
" /eval -n ${window.buffer} ==> 0x2549320\n"
|
||||
" /eval -n ${window.buffer.full_name} ==> core.weechat\n"
|
||||
" /eval -n ${window.buffer.number} ==> 1\n"
|
||||
" /eval -n ${\\t} ==> <tab>\n"
|
||||
" /eval -n ${hide:-,${relay.network.password}} ==> --------\n"
|
||||
" /eval -n ${cut:3,+,test} ==> tes+\n"
|
||||
" /eval -n ${cut:+3,+,test} ==> te+\n"
|
||||
" /eval -n ${date:%H:%M:%S} ==> 07:46:40\n"
|
||||
" /eval -n ${if:${info:term_width}>80?big:small} ==> big\n"
|
||||
" /eval -n ${rev:Hello} ==> olleH\n"
|
||||
" /eval -n ${repeat:5,-} ==> -----\n"
|
||||
" /eval -n ${length:test} ==> 4\n"
|
||||
" /eval -n ${calc:(5+2)*3} ==> 21\n"
|
||||
" /eval -n ${random:0,10} ==> 3\n"
|
||||
" /eval -n ${base_encode:64,test} ==> dGVzdA==\n"
|
||||
" /eval -n ${base_decode:64,dGVzdA==} ==> test\n"
|
||||
" /eval -n ${translate:Plugin} ==> Extension\n"
|
||||
" /eval -n ${raw:${info:version}} ==> ${info:version}\n"
|
||||
" /eval -n ${eval_cond:${window.win_width}>100} ==> 1\n"
|
||||
" /eval -n ${info:version} ==> 0.4.3\n"
|
||||
" /eval -n ${env:HOME} ==> /home/user\n"
|
||||
" /eval -n ${weechat.look.scroll_amount} ==> 3\n"
|
||||
" /eval -n ${sec.data.password} ==> secret\n"
|
||||
" /eval -n ${window} ==> 0x2549aa0\n"
|
||||
" /eval -n ${window.buffer} ==> 0x2549320\n"
|
||||
" /eval -n ${window.buffer.full_name} ==> core.weechat\n"
|
||||
" /eval -n ${window.buffer.number} ==> 1\n"
|
||||
" /eval -n ${\\t} ==> <tab>\n"
|
||||
" /eval -n ${hide:-,${relay.network.password}} ==> --------\n"
|
||||
" /eval -n ${cut:3,+,test} ==> tes+\n"
|
||||
" /eval -n ${cut:+3,+,test} ==> te+\n"
|
||||
" /eval -n ${date:%H:%M:%S} ==> 07:46:40\n"
|
||||
" /eval -n ${if:${info:term_width}>80?big:small} ==> big\n"
|
||||
" /eval -n ${rev:Hello} ==> olleH\n"
|
||||
" /eval -n ${repeat:5,-} ==> -----\n"
|
||||
" /eval -n ${length:test} ==> 4\n"
|
||||
" /eval -n ${split:1,,,abc,def,ghi} ==> abc\n"
|
||||
" /eval -n ${split:-1,,,abc,def,ghi} ==> ghi\n"
|
||||
" /eval -n ${split:count,,,abc,def,ghi} ==> 3\n"
|
||||
" /eval -n ${split:random,,,abc,def,ghi} ==> def\n"
|
||||
" /eval -n ${split_shell:1,\"arg 1\" arg2} ==> arg 1\n"
|
||||
" /eval -n ${split_shell:-1,\"arg 1\" arg2} ==> arg2\n"
|
||||
" /eval -n ${split_shell:count,\"arg 1\" arg2} ==> 2\n"
|
||||
" /eval -n ${split_shell:random,\"arg 1\" arg2} ==> arg2\n"
|
||||
" /eval -n ${calc:(5+2)*3} ==> 21\n"
|
||||
" /eval -n ${random:0,10} ==> 3\n"
|
||||
" /eval -n ${base_encode:64,test} ==> dGVzdA==\n"
|
||||
" /eval -n ${base_decode:64,dGVzdA==} ==> test\n"
|
||||
" /eval -n ${translate:Plugin} ==> Extension\n"
|
||||
" /eval -n ${define:len,${calc:5+3}}${len}x${len} ==> 8x8\n"
|
||||
"\n"
|
||||
"Примери (услови):\n"
|
||||
" /eval -n -c ${window.buffer.number} > 2 ==> 0\n"
|
||||
@@ -2658,17 +2533,14 @@ msgstr ""
|
||||
msgid "list/load/unload plugins"
|
||||
msgstr "приказ/учитавање/уклањање додатака"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "list|listfull [<name>] || load <filename> [<arguments>] || autoload "
|
||||
#| "[<arguments>] || reload [<name>|* [<arguments>]] || unload [<name>]"
|
||||
msgid ""
|
||||
"list [-o|-ol|-i|-il|<name>] || listfull [<name>] || load <filename> "
|
||||
"[<arguments>] || autoload [<arguments>] || reload [<name>|* [<arguments>]] "
|
||||
"|| unload [<name>]"
|
||||
msgstr ""
|
||||
"list|listfull [<име>] || load <имефајла> [<аргументи>] || autoload "
|
||||
"[<аргументи>] || reload [<име>|* [<аргументи>]] || unload [<име>]"
|
||||
"list| [-o|-ol|-i|-il|<име>] || listfull [<име>] || load <имефајла> "
|
||||
"[<аргументи>] || autoload [<аргументи>] || reload [<име>|* [<аргументи>]] || "
|
||||
"unload [<име>]"
|
||||
|
||||
msgid ""
|
||||
" list: list loaded plugins\n"
|
||||
@@ -2690,6 +2562,25 @@ msgid ""
|
||||
"\n"
|
||||
"Without argument, this command lists loaded plugins."
|
||||
msgstr ""
|
||||
" list: испис учитаних додатака\n"
|
||||
" -o: слање листе учитаних додатака у бафер (стринг на енглеском)\n"
|
||||
" -ol: слање листе учитаних додатака у бафер (преведени стринг)\n"
|
||||
" -i: копирање листе учитаних додатака у командну линију (за слање у "
|
||||
"бафер) (стринг на енглеском)\n"
|
||||
" -il: копирање листе учитаних додатака у командну линију (за слање у "
|
||||
"бафер) (преведени стринг)\n"
|
||||
" име: име додатка\n"
|
||||
" listfull: испис учитаних додатака (детаљно)\n"
|
||||
" load: учитавање додатка\n"
|
||||
" имефајла: додатак (фајл) који треба да се учита\n"
|
||||
"аргументи: аргументи који се прослеђују додатку приликом учитавања\n"
|
||||
" autoload: аутоматско учитавање додатака у системском или корисничком "
|
||||
"директоријуму\n"
|
||||
" reload: поновно учитавање додатка (ако се не наведе име, уклањају се сви "
|
||||
"додаци, па се затим аутоматски учитавају)\n"
|
||||
" unload: уклањање додатка (ако се не наведе име, уклањају се сви додаци)\n"
|
||||
"\n"
|
||||
"Без аргумента, ова команда исписује учитане додатке."
|
||||
|
||||
msgid "display text on a buffer"
|
||||
msgstr "исписује текст у бафер"
|
||||
@@ -3146,15 +3037,11 @@ msgstr ""
|
||||
" уклања променљиву окружења ABC:\n"
|
||||
" /set env ABC \"\""
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "values for a configuration option"
|
||||
msgid "toggle value of a config option"
|
||||
msgstr "вредности за опцију конфигурације"
|
||||
msgstr "пребацује вредност опције конфигурације"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid "[<file> [<file>...]]"
|
||||
msgid "<option> [<value> [<value>...]]"
|
||||
msgstr "[<фајл> [<фајл>...]]"
|
||||
msgstr "<опција> [<вредност> [<вредност>...]]"
|
||||
|
||||
msgid ""
|
||||
"option: name of an option\n"
|
||||
@@ -3186,6 +3073,35 @@ msgid ""
|
||||
" toggle autojoin of #weechat channel on libera server:\n"
|
||||
" /toggle irc.server.libera.autojoin null #weechat"
|
||||
msgstr ""
|
||||
" опција: име опције\n"
|
||||
"вредност: могуће вредности опције (вредности се деле као аргументи команде у "
|
||||
"љусци: на почетку/крају вредности могу да се користе знаци навода којима се "
|
||||
"очувавају размаци)\n"
|
||||
"\n"
|
||||
"Понашање:\n"
|
||||
" - без вредности је могуће пребацивање само опције типа логичка или "
|
||||
"стринг:\n"
|
||||
" - логичка: пребацује између укључено/искључено зависно од тренутне "
|
||||
"вредности\n"
|
||||
" - стринг: пребацује између празног стринга и подразумеване вредности "
|
||||
"(ради само ако је за вредност опције дозвољен празан стринг)\n"
|
||||
" - са датом једном вредности, пребацује између те вредности и подразумеване "
|
||||
"вредности опције\n"
|
||||
" - са више датих вредности, пребацује између тих вредности: вредност која "
|
||||
"се користи је она која следи након текуће вредности опције; ако се текућа "
|
||||
"вредност опције не налази у листи, користи се прва вредност у листи\n"
|
||||
" - може да се наведе специјална вредност „null”, али само као прва вредност "
|
||||
"у листи и око ње нема знакова навода.\n"
|
||||
"\n"
|
||||
"Примери:\n"
|
||||
" пребацивање приказа времена у простору за чет (без бриказа нове вредности "
|
||||
"која се користи):\n"
|
||||
" /mute /toggle weechat.look.buffer_time_format\n"
|
||||
" промена формата времена у простору за чет (са секундама, без секунди, "
|
||||
"искључено):\n"
|
||||
" /toggle weechat.look.buffer_time_format \"%H:%M:%S\" \"%H:%M\" \"\"\n"
|
||||
" пребацивање аутоматског приступа каналу #weechat на libera серверу:\n"
|
||||
" /toggle irc.server.libera.autojoin null #weechat"
|
||||
|
||||
msgid "unset/reset config options"
|
||||
msgstr "уклањање/ресетовање конфиг опција"
|
||||
@@ -10793,21 +10709,24 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
"„tags”: ознаке, „tag_xxx”: неозначена вредност ознаке „xxx” (један кључ по "
|
||||
"ознаци), „message_without_tags”: поруке без ознака, „nick”: надимак, „user”: "
|
||||
"корисник, „host”: хост, „command”: команда, „channel”: канал, „arguments”: "
|
||||
"аргументи (укључујући channel), „text”: текст (на пример, корисничка "
|
||||
"порука), „pos_command”: индекс „command” поруке („-1” ако „command” није "
|
||||
"пронађена), „pos_arguments”: индекс „arguments” поруке („-1” ако „arguments” "
|
||||
"није пронађена), „pos_channel”: индекс „channel” поруке („-1” ако „channel” "
|
||||
"није пронађена), „pos_text”: индекс „text” поруке („-1” ако „text” није "
|
||||
"пронађена)"
|
||||
"порука), „param1” ... „paramN”: парсирани параметри команде, „num_params”: "
|
||||
"број парсираних параметара команде, „pos_command”: индекс „command” поруке "
|
||||
"(„-1” ако „command” није пронађена), „pos_arguments”: индекс „arguments” "
|
||||
"поруке („-1” ако „arguments” није пронађена), „pos_channel”: индекс "
|
||||
"„channel” поруке („-1” ако „channel” није пронађена), „pos_text”: индекс "
|
||||
"„text” поруке („-1” ако „text” није пронађена)"
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
msgstr "подела IRC поруке (подразумевано тако да стане у 512 бајтова)"
|
||||
@@ -11360,25 +11279,27 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s је ућуткан"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgstr "%s%s: није пронађена команда „%s”:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgstr ""
|
||||
"%s%s: парсирање команде „%s” није успело (молимо вас пријавите програмерима):"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: команда „%s” није пронађена: „%s”"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
"%s%s: од IRC сервера није примљен довољан број аргумената за команду "
|
||||
"„%s” (примљено је: %d аргумената, очекује се: барем %d)"
|
||||
"%s%s: парсирање команде „%s” није успело (молимо вас пријавите "
|
||||
"програмерима): „%s”"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr "%s%s: команда „%s” је примљена без хоста"
|
||||
msgid ""
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
"%s%s: у команди „%s” је примљено премало параметара (примљено: %d, очекује "
|
||||
"се: барем %d)"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: команда „%s” је примљена без надимка"
|
||||
|
||||
#, c-format
|
||||
msgid "IRC raw messages | Filter: %s"
|
||||
@@ -15402,32 +15323,3 @@ msgstr "%s%s: тајмаут за „%s” са %s"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: повезивање није успело: неочекивана грешка (%d)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ " list: list loaded plugins\n"
|
||||
#~ " listfull: list loaded plugins (verbose)\n"
|
||||
#~ " load: load a plugin\n"
|
||||
#~ " autoload: autoload plugins in system or user directory\n"
|
||||
#~ " reload: reload a plugin (if no name given, unload all plugins, then "
|
||||
#~ "autoload plugins)\n"
|
||||
#~ " unload: unload a plugin (if no name given, unload all plugins)\n"
|
||||
#~ " filename: plugin (file) to load\n"
|
||||
#~ " name: a plugin name\n"
|
||||
#~ "arguments: arguments given to plugin on load\n"
|
||||
#~ "\n"
|
||||
#~ "Without argument, this command lists loaded plugins."
|
||||
#~ msgstr ""
|
||||
#~ " list: исписује учитане додатке\n"
|
||||
#~ " listfull: исписује учитане додатке (детаљно)\n"
|
||||
#~ " load: учитава додатак\n"
|
||||
#~ " autoload: аутоматски учитава додатке из системског или корисничког "
|
||||
#~ "директоријума\n"
|
||||
#~ " reload: поново учитава додатак (ако се не зада име, уклања из меморије "
|
||||
#~ "све додатке, па их затим аутоматски учитава)\n"
|
||||
#~ " unload: уклања додатак из меморије (ако се не зада име, уклања све "
|
||||
#~ "додатке из меморије)\n"
|
||||
#~ " имефајла: додатак (фајл) који треба да се учита\n"
|
||||
#~ " име: име додатка\n"
|
||||
#~ "аргументи: аргументи који се прослеђују додатку приликом учитавања\n"
|
||||
#~ "\n"
|
||||
#~ "Без аргумента, ова команда исписује учитане додатке."
|
||||
|
||||
@@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2021-07-10 16:01+0200\n"
|
||||
"Last-Translator: Emir SARI <bitigchi@me.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -162,7 +162,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -8245,11 +8245,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
@@ -8781,23 +8783,26 @@ msgstr "%s%s[%s%s%s] %s%s%s%s, %s tarafından sessize alındı"
|
||||
msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr "%s%s[%s%s%s] %s%s%s%s sessize alındı"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr "%s%s: \"%s\" komutu bulunamadı:"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid ""
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgstr ""
|
||||
#, fuzzy, c-format
|
||||
#| msgid "%s%s: command \"%s\" not found:"
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr "%s%s: \"%s\" komutu bulunamadı:"
|
||||
|
||||
#, c-format
|
||||
msgid "IRC raw messages | Filter: %s"
|
||||
|
||||
+18
-15
@@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-10-01 22:52+0200\n"
|
||||
"POT-Creation-Date: 2021-12-03 12:01+0100\n"
|
||||
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
|
||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -152,7 +152,7 @@ msgid ""
|
||||
"(in this order: config, data, cache, runtime)\n"
|
||||
" (environment variable WEECHAT_HOME is read if "
|
||||
"this option is not given)\n"
|
||||
" -t, --temp-dir create a temporary WeeChat homedirectory and "
|
||||
" -t, --temp-dir create a temporary WeeChat home directory and "
|
||||
"delete it on exit\n"
|
||||
" (incompatible with option \"-d\")\n"
|
||||
" -h, --help display this help\n"
|
||||
@@ -7696,11 +7696,13 @@ msgid ""
|
||||
"tag), \"message_without_tags\": message without the tags, \"nick\": nick, "
|
||||
"\"user\": user, \"host\": host, \"command\": command, \"channel\": channel, "
|
||||
"\"arguments\": arguments (includes channel), \"text\": text (for example "
|
||||
"user message), \"pos_command\": index of \"command\" message (\"-1\" if "
|
||||
"\"command\" was not found), \"pos_arguments\": index of \"arguments\" "
|
||||
"message (\"-1\" if \"arguments\" was not found), \"pos_channel\": index of "
|
||||
"\"channel\" message (\"-1\" if \"channel\" was not found), \"pos_text\": "
|
||||
"index of \"text\" message (\"-1\" if \"text\" was not found)"
|
||||
"user message), \"param1\" ... \"paramN\": parsed command parameters, "
|
||||
"\"num_params\": number of parsed command parameters, \"pos_command\": index "
|
||||
"of \"command\" message (\"-1\" if \"command\" was not found), \"pos_arguments"
|
||||
"\": index of \"arguments\" message (\"-1\" if \"arguments\" was not found), "
|
||||
"\"pos_channel\": index of \"channel\" message (\"-1\" if \"channel\" was not "
|
||||
"found), \"pos_text\": index of \"text\" message (\"-1\" if \"text\" was not "
|
||||
"found)"
|
||||
msgstr ""
|
||||
|
||||
msgid "split an IRC message (to fit in 512 bytes by default)"
|
||||
@@ -8239,21 +8241,22 @@ msgid "%s%s[%s%s%s] %s%s%s%s quieted"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" not found:"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
|
||||
msgid "%s%s: command \"%s\" not found: \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: too few arguments received from IRC server for command \"%s"
|
||||
"\" (received: %d arguments, expected: at least %d)"
|
||||
"%s%s: failed to parse command \"%s\" (please report to developers): \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: \"%s\" command received without host"
|
||||
msgid ""
|
||||
"%s%s: too few parameters received in command \"%s\" (received: %d, expected: "
|
||||
"at least %d)"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: command \"%s\" received without nick"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
|
||||
@@ -3310,7 +3310,7 @@ config_file_hdata_config_option_cb (const void *pointer, void *data,
|
||||
HDATA_VAR(struct t_config_option, parent_name, STRING, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_config_option, type, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_config_option, description, STRING, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_config_option, string_values, STRING, 0, "*", NULL);
|
||||
HDATA_VAR(struct t_config_option, string_values, STRING, 0, "*,*", NULL);
|
||||
HDATA_VAR(struct t_config_option, min, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_config_option, max, INTEGER, 0, NULL, NULL);
|
||||
HDATA_VAR(struct t_config_option, default_value, POINTER, 0, NULL, NULL);
|
||||
|
||||
@@ -750,6 +750,11 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
||||
char *ptr_home, path[PATH_MAX];
|
||||
char *xdg_config_home, *xdg_data_home, *xdg_cache_home, *xdg_runtime_dir;
|
||||
|
||||
*config_dir = NULL;
|
||||
*data_dir = NULL;
|
||||
*cache_dir = NULL;
|
||||
*runtime_dir = NULL;
|
||||
|
||||
ptr_home = getenv ("HOME");
|
||||
xdg_config_home = getenv ("XDG_CONFIG_HOME");
|
||||
xdg_data_home = getenv ("XDG_DATA_HOME");
|
||||
@@ -826,6 +831,26 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
||||
return 1;
|
||||
|
||||
error:
|
||||
if (*config_dir)
|
||||
{
|
||||
free (*config_dir);
|
||||
*config_dir = NULL;
|
||||
}
|
||||
if (*data_dir)
|
||||
{
|
||||
free (*data_dir);
|
||||
*data_dir = NULL;
|
||||
}
|
||||
if (*cache_dir)
|
||||
{
|
||||
free (*cache_dir);
|
||||
*cache_dir = NULL;
|
||||
}
|
||||
if (*runtime_dir)
|
||||
{
|
||||
free (*runtime_dir);
|
||||
*runtime_dir = NULL;
|
||||
}
|
||||
string_fprintf (stderr, _("Error: not enough memory\n"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
+21
-12
@@ -181,7 +181,7 @@ eval_strstr_level (const char *string, const char *search,
|
||||
{
|
||||
const char *ptr_string;
|
||||
int level, length_search, debug_id;
|
||||
int length_prefix, length_prefix2, length_suffix, length_suffix2;
|
||||
int length_prefix2, length_suffix2;
|
||||
|
||||
ptr_string = NULL;
|
||||
|
||||
@@ -196,9 +196,6 @@ eval_strstr_level (const char *string, const char *search,
|
||||
|
||||
length_search = strlen (search);
|
||||
|
||||
length_prefix = strlen (eval_context->prefix);
|
||||
length_suffix = strlen (eval_context->suffix);
|
||||
|
||||
length_prefix2 = (extra_prefix) ? strlen (extra_prefix) : 0;
|
||||
length_suffix2 = (extra_suffix) ? strlen (extra_suffix) : 0;
|
||||
|
||||
@@ -213,10 +210,10 @@ eval_strstr_level (const char *string, const char *search,
|
||||
{
|
||||
ptr_string++;
|
||||
}
|
||||
else if (strncmp (ptr_string, eval_context->prefix, length_prefix) == 0)
|
||||
else if (strncmp (ptr_string, eval_context->prefix, eval_context->length_prefix) == 0)
|
||||
{
|
||||
level++;
|
||||
ptr_string += length_prefix;
|
||||
ptr_string += eval_context->length_prefix;
|
||||
}
|
||||
else if ((length_prefix2 > 0)
|
||||
&& (strncmp (ptr_string, extra_prefix, length_prefix2) == 0))
|
||||
@@ -224,11 +221,11 @@ eval_strstr_level (const char *string, const char *search,
|
||||
level++;
|
||||
ptr_string += length_prefix2;
|
||||
}
|
||||
else if (strncmp (ptr_string, eval_context->suffix, length_suffix) == 0)
|
||||
else if (strncmp (ptr_string, eval_context->suffix, eval_context->length_suffix) == 0)
|
||||
{
|
||||
if (level > 0)
|
||||
level--;
|
||||
ptr_string += length_suffix;
|
||||
ptr_string += eval_context->length_suffix;
|
||||
}
|
||||
else if ((length_suffix2 > 0)
|
||||
&& (strncmp (ptr_string, extra_suffix, length_suffix2) == 0))
|
||||
@@ -508,7 +505,11 @@ eval_string_split (const char *text)
|
||||
else if (strcmp (list_flags[i], "keep_eol") == 0)
|
||||
flags |= WEECHAT_STRING_SPLIT_KEEP_EOL;
|
||||
else if (strncmp (list_flags[i], "strip_items=", 12) == 0)
|
||||
{
|
||||
if (strip_items)
|
||||
free (strip_items);
|
||||
strip_items = strdup (list_flags[i] + 12);
|
||||
}
|
||||
else if (strncmp (list_flags[i], "max_items=", 10) == 0)
|
||||
{
|
||||
max_items = strtol (list_flags[i] + 10, &error, 10);
|
||||
@@ -1008,7 +1009,7 @@ char *
|
||||
eval_string_random (const char *text)
|
||||
{
|
||||
char *pos, *error, *tmp, result[128];
|
||||
long min_number, max_number;
|
||||
long long min_number, max_number;
|
||||
|
||||
if (!text || !text[0])
|
||||
goto error;
|
||||
@@ -1020,7 +1021,7 @@ eval_string_random (const char *text)
|
||||
tmp = strndup (text, pos - text);
|
||||
if (!tmp)
|
||||
goto error;
|
||||
min_number = strtol (tmp, &error, 10);
|
||||
min_number = strtoll (tmp, &error, 10);
|
||||
if (!error || error[0])
|
||||
{
|
||||
free (tmp);
|
||||
@@ -1028,7 +1029,7 @@ eval_string_random (const char *text)
|
||||
}
|
||||
free (tmp);
|
||||
|
||||
max_number = strtol (pos + 1, &error, 10);
|
||||
max_number = strtoll (pos + 1, &error, 10);
|
||||
if (!error || error[0])
|
||||
goto error;
|
||||
|
||||
@@ -1042,7 +1043,7 @@ eval_string_random (const char *text)
|
||||
* but this is enough for our usage here
|
||||
*/
|
||||
snprintf (result, sizeof (result),
|
||||
"%ld", min_number + (random () % (max_number - min_number + 1)));
|
||||
"%lld", min_number + (random () % (max_number - min_number + 1)));
|
||||
return strdup (result);
|
||||
|
||||
error:
|
||||
@@ -2422,7 +2423,9 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
|
||||
eval_context->user_vars = user_vars;
|
||||
eval_context->extra_vars_eval = 0;
|
||||
eval_context->prefix = default_prefix;
|
||||
eval_context->length_prefix = strlen (eval_context->prefix);
|
||||
eval_context->suffix = default_suffix;
|
||||
eval_context->length_suffix = strlen (eval_context->suffix);
|
||||
eval_context->regex = NULL;
|
||||
eval_context->regex_replacement_index = 1;
|
||||
eval_context->recursion_count = 0;
|
||||
@@ -2469,12 +2472,18 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
|
||||
/* check for custom prefix */
|
||||
ptr_value = hashtable_get (options, "prefix");
|
||||
if (ptr_value && ptr_value[0])
|
||||
{
|
||||
eval_context->prefix = ptr_value;
|
||||
eval_context->length_prefix = strlen (eval_context->prefix);
|
||||
}
|
||||
|
||||
/* check for custom suffix */
|
||||
ptr_value = hashtable_get (options, "suffix");
|
||||
if (ptr_value && ptr_value[0])
|
||||
{
|
||||
eval_context->suffix = ptr_value;
|
||||
eval_context->length_suffix = strlen (eval_context->suffix);
|
||||
}
|
||||
|
||||
/* check for regex */
|
||||
ptr_value = hashtable_get (options, "regex");
|
||||
|
||||
@@ -76,7 +76,9 @@ struct t_eval_context
|
||||
struct t_hashtable *user_vars; /* user-defined variables */
|
||||
int extra_vars_eval; /* 1 if extra vars must be evaluated */
|
||||
const char *prefix; /* prefix (default is "${") */
|
||||
int length_prefix; /* length of prefix */
|
||||
const char *suffix; /* suffix (default is "}") */
|
||||
int length_suffix; /* length of suffix */
|
||||
struct t_eval_regex *regex; /* in case of replace with regex */
|
||||
int regex_replacement_index; /* replacement index (≥ 1) */
|
||||
int recursion_count; /* to prevent infinite recursion */
|
||||
|
||||
+152
-101
@@ -37,11 +37,6 @@
|
||||
|
||||
struct t_hashtable *weechat_hdata = NULL;
|
||||
|
||||
/* hashtables used in hdata_search() for evaluating expression */
|
||||
struct t_hashtable *hdata_search_pointers = NULL;
|
||||
struct t_hashtable *hdata_search_extra_vars = NULL;
|
||||
struct t_hashtable *hdata_search_options = NULL;
|
||||
|
||||
char *hdata_type_string[9] =
|
||||
{ "other", "char", "integer", "long", "string", "pointer", "time",
|
||||
"hashtable", "shared_string" };
|
||||
@@ -52,8 +47,7 @@ char *hdata_type_string[9] =
|
||||
*/
|
||||
|
||||
void
|
||||
hdata_free_var (struct t_hashtable *hashtable,
|
||||
const void *key, void *value)
|
||||
hdata_free_var_cb (struct t_hashtable *hashtable, const void *key, void *value)
|
||||
{
|
||||
struct t_hdata_var *var;
|
||||
|
||||
@@ -77,8 +71,7 @@ hdata_free_var (struct t_hashtable *hashtable,
|
||||
*/
|
||||
|
||||
void
|
||||
hdata_free_list (struct t_hashtable *hashtable,
|
||||
const void *key, void *value)
|
||||
hdata_free_list_cb (struct t_hashtable *hashtable, const void *key, void *value)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) hashtable;
|
||||
@@ -120,13 +113,13 @@ hdata_new (struct t_weechat_plugin *plugin, const char *hdata_name,
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
new_hdata->hash_var->callback_free_value = &hdata_free_var;
|
||||
new_hdata->hash_var->callback_free_value = &hdata_free_var_cb;
|
||||
new_hdata->hash_list = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
new_hdata->hash_list->callback_free_value = &hdata_free_list;
|
||||
new_hdata->hash_list->callback_free_value = &hdata_free_list_cb;
|
||||
hashtable_set (weechat_hdata, hdata_name, new_hdata);
|
||||
new_hdata->create_allowed = create_allowed;
|
||||
new_hdata->delete_allowed = delete_allowed;
|
||||
@@ -148,6 +141,7 @@ hdata_new_var (struct t_hdata *hdata, const char *name, int offset, int type,
|
||||
const char *hdata_name)
|
||||
{
|
||||
struct t_hdata_var *var;
|
||||
const char *ptr_array_size;
|
||||
|
||||
if (!hdata || !name)
|
||||
return;
|
||||
@@ -158,8 +152,20 @@ hdata_new_var (struct t_hdata *hdata, const char *name, int offset, int type,
|
||||
var->offset = offset;
|
||||
var->type = type;
|
||||
var->update_allowed = update_allowed;
|
||||
var->array_size = (array_size && array_size[0]) ? strdup (array_size) : NULL;
|
||||
var->hdata_name = (hdata_name && hdata_name[0]) ? strdup (hdata_name) : NULL;
|
||||
ptr_array_size = array_size;
|
||||
if (ptr_array_size && (strncmp (ptr_array_size, "*,", 2) == 0))
|
||||
{
|
||||
var->array_pointer = 1;
|
||||
ptr_array_size += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
var->array_pointer = 0;
|
||||
}
|
||||
var->array_size = (ptr_array_size && ptr_array_size[0]) ?
|
||||
strdup (ptr_array_size) : NULL;
|
||||
var->hdata_name = (hdata_name && hdata_name[0]) ?
|
||||
strdup (hdata_name) : NULL;
|
||||
hashtable_set (hdata->hash_var, name, var);
|
||||
}
|
||||
}
|
||||
@@ -394,7 +400,7 @@ hdata_get_var (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
{
|
||||
int offset;
|
||||
|
||||
if (!hdata || !pointer)
|
||||
if (!hdata || !pointer || !name)
|
||||
return NULL;
|
||||
|
||||
offset = hdata_get_var_offset (hdata, name);
|
||||
@@ -576,72 +582,78 @@ hdata_move (struct t_hdata *hdata, void *pointer, int count)
|
||||
*/
|
||||
|
||||
void *
|
||||
hdata_search (struct t_hdata *hdata, void *pointer, const char *search, int move)
|
||||
hdata_search (struct t_hdata *hdata,
|
||||
void *pointer,
|
||||
const char *search,
|
||||
struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options,
|
||||
int move)
|
||||
{
|
||||
struct t_hashtable *pointers2, *options2;
|
||||
char *result;
|
||||
void *ret_pointer;
|
||||
int rc;
|
||||
|
||||
if (!hdata || !pointer || !search || !search[0] || (move == 0))
|
||||
return NULL;
|
||||
|
||||
/* clear or create hashtable with pointer for search */
|
||||
if (hdata_search_pointers)
|
||||
ret_pointer = NULL;
|
||||
|
||||
/* duplicate or create hashtable with pointers */
|
||||
if (pointers)
|
||||
{
|
||||
hashtable_remove_all (hdata_search_pointers);
|
||||
pointers2 = hashtable_dup (pointers);
|
||||
}
|
||||
else
|
||||
{
|
||||
hdata_search_pointers = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
pointers2 = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* create hashtable with extra vars (empty hashtable)
|
||||
* (hashtable would be created in eval_expression(), but it's created here
|
||||
* so it will not be created for each call to eval_expression())
|
||||
*/
|
||||
if (!hdata_search_extra_vars)
|
||||
/* duplicate or create hashtable with options */
|
||||
if (options)
|
||||
{
|
||||
hdata_search_extra_vars = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
NULL,
|
||||
NULL);
|
||||
options2 = hashtable_dup (options);
|
||||
}
|
||||
|
||||
if (!hdata_search_options)
|
||||
else
|
||||
{
|
||||
hdata_search_options = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
NULL,
|
||||
NULL);
|
||||
if (hdata_search_options)
|
||||
hashtable_set (hdata_search_options, "type", "condition");
|
||||
options2 = hashtable_new (32,
|
||||
WEECHAT_HASHTABLE_STRING,
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
if (options2)
|
||||
hashtable_set (options2, "type", "condition");
|
||||
|
||||
while (pointer)
|
||||
{
|
||||
/* set pointer in hashtable (used for evaluating expression) */
|
||||
hashtable_set (hdata_search_pointers, hdata->name, pointer);
|
||||
if (pointers2)
|
||||
hashtable_set (pointers2, hdata->name, pointer);
|
||||
|
||||
/* evaluate expression */
|
||||
result = eval_expression (search, hdata_search_pointers,
|
||||
hdata_search_extra_vars,
|
||||
hdata_search_options);
|
||||
result = eval_expression (search, pointers2, extra_vars, options2);
|
||||
rc = eval_is_true (result);
|
||||
if (result)
|
||||
free (result);
|
||||
if (rc)
|
||||
return pointer;
|
||||
{
|
||||
ret_pointer = pointer;
|
||||
goto end;
|
||||
}
|
||||
|
||||
pointer = hdata_move (hdata, pointer, move);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
end:
|
||||
hashtable_free (pointers2);
|
||||
hashtable_free (options2);
|
||||
return ret_pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -706,9 +718,16 @@ hdata_char (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return (*((char **)(pointer + var->offset)))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((char **)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((char *)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((char *)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return '\0';
|
||||
@@ -733,9 +752,16 @@ hdata_integer (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return ((int *)(pointer + var->offset))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((int **)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((int *)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((int *)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -760,9 +786,16 @@ hdata_long (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return ((long *)(pointer + var->offset))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((long **)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((long *)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((long *)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -787,9 +820,19 @@ hdata_string (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return (*((char ***)(pointer + var->offset)))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((char ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
{
|
||||
/* we can not index a static array of strings */
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((char **)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -814,9 +857,16 @@ hdata_pointer (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return (*((void ***)(pointer + var->offset)))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((void ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((void **)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((void **)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -841,9 +891,16 @@ hdata_time (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return ((time_t *)(pointer + var->offset))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((time_t **)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((time_t *)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((time_t *)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -868,9 +925,16 @@ hdata_hashtable (struct t_hdata *hdata, void *pointer, const char *name)
|
||||
if (var && (var->offset >= 0))
|
||||
{
|
||||
if (var->array_size && (index >= 0))
|
||||
return (*((struct t_hashtable ***)(pointer + var->offset)))[index];
|
||||
{
|
||||
if (var->array_pointer)
|
||||
return (*((struct t_hashtable ***)(pointer + var->offset)))[index];
|
||||
else
|
||||
return ((struct t_hashtable **)(pointer + var->offset))[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
return *((struct t_hashtable **)(pointer + var->offset));
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -898,6 +962,9 @@ hdata_compare (struct t_hdata *hdata, void *pointer1, void *pointer2,
|
||||
void *ptr_value1, *ptr_value2;
|
||||
time_t time_value1, time_value2;
|
||||
|
||||
if (!hdata || !name)
|
||||
return 0;
|
||||
|
||||
if (!pointer1 && pointer2)
|
||||
return -1;
|
||||
if (pointer1 && !pointer2)
|
||||
@@ -1048,17 +1115,25 @@ hdata_set (struct t_hdata *hdata, void *pointer, const char *name,
|
||||
return 1;
|
||||
break;
|
||||
case WEECHAT_HDATA_POINTER:
|
||||
rc = sscanf (value, "%lx", &ptr);
|
||||
if ((rc != EOF) && (rc != 0))
|
||||
if (value)
|
||||
{
|
||||
*((void **)(pointer + var->offset)) = (void *)ptr;
|
||||
rc = sscanf (value, "%lx", &ptr);
|
||||
if ((rc != EOF) && (rc != 0))
|
||||
{
|
||||
*((void **)(pointer + var->offset)) = (void *)ptr;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*((void **)(pointer + var->offset)) = NULL;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case WEECHAT_HDATA_TIME:
|
||||
error = NULL;
|
||||
number = strtol (value, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (error && !error[0] && (number >= 0))
|
||||
{
|
||||
*((time_t *)(pointer + var->offset)) = (time_t)number;
|
||||
return 1;
|
||||
@@ -1107,8 +1182,6 @@ hdata_update (struct t_hdata *hdata, void *pointer,
|
||||
value = hashtable_get (hashtable, "__update_allowed");
|
||||
if (value)
|
||||
{
|
||||
if (!hdata->callback_update)
|
||||
return 0;
|
||||
var = hashtable_get (hdata->hash_var, value);
|
||||
if (!var)
|
||||
return 0;
|
||||
@@ -1191,10 +1264,7 @@ hdata_free_all_plugin_map_cb (void *data, struct t_hashtable *hashtable,
|
||||
ptr_hdata = (struct t_hdata *)value;
|
||||
|
||||
if (ptr_hdata->plugin == (struct t_weechat_plugin *)data)
|
||||
{
|
||||
hdata_free (ptr_hdata);
|
||||
hashtable_remove (hashtable, key);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1207,25 +1277,6 @@ hdata_free_all_plugin (struct t_weechat_plugin *plugin)
|
||||
hashtable_map (weechat_hdata, &hdata_free_all_plugin_map_cb, plugin);
|
||||
}
|
||||
|
||||
/*
|
||||
* Frees hdata (callback called for each hdata in memory).
|
||||
*/
|
||||
|
||||
void
|
||||
hdata_free_all_map_cb (void *data, struct t_hashtable *hashtable,
|
||||
const void *key, const void *value)
|
||||
{
|
||||
struct t_hdata *ptr_hdata;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
|
||||
ptr_hdata = (struct t_hdata *)value;
|
||||
|
||||
hdata_free (ptr_hdata);
|
||||
hashtable_remove (hashtable, key);
|
||||
}
|
||||
|
||||
/*
|
||||
* Frees all hdata.
|
||||
*/
|
||||
@@ -1233,7 +1284,7 @@ hdata_free_all_map_cb (void *data, struct t_hashtable *hashtable,
|
||||
void
|
||||
hdata_free_all ()
|
||||
{
|
||||
hashtable_map (weechat_hdata, &hdata_free_all_map_cb, NULL);
|
||||
hashtable_remove_all (weechat_hdata);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1309,6 +1360,21 @@ hdata_print_log ()
|
||||
hashtable_map (weechat_hdata, &hdata_print_log_map_cb, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Frees a hdata in hashtable "weechat_hdata".
|
||||
*/
|
||||
|
||||
void
|
||||
hdata_free_hdata_cb (struct t_hashtable *hashtable,
|
||||
const void *key, void *value)
|
||||
{
|
||||
/* make C compiler happy */
|
||||
(void) hashtable;
|
||||
(void) key;
|
||||
|
||||
hdata_free (value);
|
||||
}
|
||||
|
||||
/*
|
||||
* Initializes hdata: creates a hashtable with hdata.
|
||||
*/
|
||||
@@ -1321,6 +1387,7 @@ hdata_init ()
|
||||
WEECHAT_HASHTABLE_POINTER,
|
||||
NULL,
|
||||
NULL);
|
||||
weechat_hdata->callback_free_value = &hdata_free_hdata_cb;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1333,20 +1400,4 @@ hdata_end ()
|
||||
hdata_free_all ();
|
||||
hashtable_free (weechat_hdata);
|
||||
weechat_hdata = NULL;
|
||||
|
||||
if (hdata_search_pointers)
|
||||
{
|
||||
hashtable_free (hdata_search_pointers);
|
||||
hdata_search_pointers = NULL;
|
||||
}
|
||||
if (hdata_search_extra_vars)
|
||||
{
|
||||
hashtable_free (hdata_search_extra_vars);
|
||||
hdata_search_extra_vars = NULL;
|
||||
}
|
||||
if (hdata_search_options)
|
||||
{
|
||||
hashtable_free (hdata_search_options);
|
||||
hdata_search_options = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ struct t_hdata_var
|
||||
char type; /* type */
|
||||
char update_allowed; /* update allowed? */
|
||||
char *array_size; /* array size */
|
||||
char array_pointer; /* pointer to dynamically allocated */
|
||||
/* array? */
|
||||
char *hdata_name; /* hdata name */
|
||||
};
|
||||
|
||||
@@ -109,7 +111,9 @@ extern int hdata_check_pointer (struct t_hdata *hdata, void *list,
|
||||
void *pointer);
|
||||
extern void *hdata_move (struct t_hdata *hdata, void *pointer, int count);
|
||||
extern void *hdata_search (struct t_hdata *hdata, void *pointer,
|
||||
const char *search, int move);
|
||||
const char *search, struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options, int move);
|
||||
extern void hdata_get_index_and_name (const char *name, int *index,
|
||||
const char **ptr_name);
|
||||
extern char hdata_char (struct t_hdata *hdata, void *pointer,
|
||||
|
||||
+23
-15
@@ -91,6 +91,27 @@ network_init_gcrypt ()
|
||||
gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Allocates credentials structure.
|
||||
*/
|
||||
|
||||
void
|
||||
network_allocate_credentials ()
|
||||
{
|
||||
gnutls_certificate_allocate_credentials (&gnutls_xcred);
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x02090a /* 2.9.10 */
|
||||
gnutls_certificate_set_verify_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_verify_certificates);
|
||||
#endif /* LIBGNUTLS_VERSION_NUMBER >= 0x02090a */
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00 /* 2.11.0 */
|
||||
gnutls_certificate_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#else
|
||||
gnutls_certificate_client_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#endif /* LIBGNUTLS_VERSION_NUMBER >= 0x020b00 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Loads system's default trusted certificate authorities.
|
||||
*
|
||||
@@ -259,9 +280,7 @@ network_reload_ca_files (int force_display)
|
||||
network_num_certs),
|
||||
network_num_certs);
|
||||
}
|
||||
|
||||
gnutls_certificate_allocate_credentials (&gnutls_xcred);
|
||||
|
||||
network_allocate_credentials ();
|
||||
network_load_ca_files (force_display);
|
||||
}
|
||||
|
||||
@@ -275,19 +294,8 @@ network_init_gnutls ()
|
||||
if (!weechat_no_gnutls)
|
||||
{
|
||||
gnutls_global_init ();
|
||||
gnutls_certificate_allocate_credentials (&gnutls_xcred);
|
||||
network_allocate_credentials ();
|
||||
network_load_ca_files (0);
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x02090a /* 2.9.10 */
|
||||
gnutls_certificate_set_verify_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_verify_certificates);
|
||||
#endif /* LIBGNUTLS_VERSION_NUMBER >= 0x02090a */
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00 /* 2.11.0 */
|
||||
gnutls_certificate_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#else
|
||||
gnutls_certificate_client_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#endif /* LIBGNUTLS_VERSION_NUMBER >= 0x020b00 */
|
||||
}
|
||||
|
||||
network_init_gnutls_ok = 1;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user