mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
Compare commits
177 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9019d031b6 | |||
| 1f457ca0a5 | |||
| c02baef622 | |||
| 19739e48f7 | |||
| 35433bb706 | |||
| 667f27b290 | |||
| f1b36e5095 | |||
| 15218ed294 | |||
| be3025f569 | |||
| 46dfe34f70 | |||
| c98c5afe00 | |||
| a56fec820b | |||
| 4716e81d4e | |||
| 7033fdd0cb | |||
| 6b75516702 | |||
| be0212bd27 | |||
| 6c6667dadd | |||
| ca6854e207 | |||
| b0f997d1fa | |||
| 9b2c1e33f5 | |||
| 393434237c | |||
| f0ad26de1c | |||
| 534227a667 | |||
| 0f3abd820a | |||
| 05a6d16299 | |||
| 0a6035f3c4 | |||
| 815a07658d | |||
| a338f59f5f | |||
| befd3eb2bf | |||
| e1398eae2e | |||
| ded3f7b13c | |||
| cc92883449 | |||
| 5499843905 | |||
| 6923a9efa0 | |||
| 5aa93fdbb7 | |||
| 82199f8264 | |||
| 8f26323bdf | |||
| 5bd13d3df0 | |||
| 5d3e485aec | |||
| 2ed90965a6 | |||
| 377fd4a41c | |||
| 098de9a986 | |||
| b8089c72fc | |||
| ad697ded83 | |||
| 55ad527c05 | |||
| 9d9835a50f | |||
| 963815b999 | |||
| 784ba4eeb0 | |||
| 315ba5e942 | |||
| 50dbd203a9 | |||
| 9ebe00d144 | |||
| 981beb917e | |||
| 1f2b78242e | |||
| 8107025c78 | |||
| 5c5df1b068 | |||
| 8e6f525b59 | |||
| 74f1592f21 | |||
| 6ec5d5a148 | |||
| 81a1f9aea8 | |||
| bcf5974e58 | |||
| 7572fec261 | |||
| b99a630705 | |||
| 24c53b4c3f | |||
| 0159dbc95a | |||
| b779e72c50 | |||
| 0ca2197aa6 | |||
| 6e117a1caf | |||
| 4736a5b320 | |||
| fad9806e08 | |||
| 7be168264f | |||
| 01c2ef63f5 | |||
| 23c2271ef4 | |||
| 6ef0e5ec1e | |||
| b1bd5c721e | |||
| 31c3151fcc | |||
| b98e71a91c | |||
| cddbe6fe33 | |||
| 3b2ee85b04 | |||
| 23983b125a | |||
| 4da1472bc8 | |||
| 86886e311a | |||
| e29cb9a85a | |||
| 80872061c2 | |||
| e9c6381774 | |||
| 00685bedd5 | |||
| a02743b229 | |||
| 3fb322be8f | |||
| 17fe9e3589 | |||
| 22c7673b71 | |||
| 5e95550f14 | |||
| 719db054fa | |||
| 219f406d3c | |||
| 14496c41a3 | |||
| 653a392d9a | |||
| cc774d099b | |||
| b2f0cc30ff | |||
| eb080261f8 | |||
| 0fb8ac9e7b | |||
| df66b2e6fe | |||
| 0c79b2fda8 | |||
| 23fd23fd1a | |||
| e8615c1691 | |||
| 4ecd8a505f | |||
| bd850398e8 | |||
| 0770b95266 | |||
| b13db0305d | |||
| 3e0ebc82a9 | |||
| f534663d07 | |||
| 9bf40517d3 | |||
| e92a63427f | |||
| 7fabe8c2a2 | |||
| d9acb2b97a | |||
| a3bde46d48 | |||
| ecc3a2aeb6 | |||
| 0ff8d7b543 | |||
| fdd9c03e5a | |||
| 9e56308a4d | |||
| edbcc10105 | |||
| fddd7d53a7 | |||
| efdbd1ea13 | |||
| 52437427af | |||
| 2bd2d74a07 | |||
| 6668b9869b | |||
| a79c0fcff3 | |||
| 43f471b9c2 | |||
| 7cc452402d | |||
| 422958337b | |||
| c9f816435c | |||
| 07cbc3bd2e | |||
| 33a4b4b1fc | |||
| 292830b5bf | |||
| acb03201b4 | |||
| 7c1b7df2cf | |||
| 5bac79c4f1 | |||
| 9e0fa27525 | |||
| 60ec9d5d51 | |||
| c8ac7e3791 | |||
| 96c71aa0c4 | |||
| 70cbc1b340 | |||
| c8ca7e1ac2 | |||
| c4d95bc1e2 | |||
| e5d9e977e4 | |||
| 424bff4d6c | |||
| 7a769648e8 | |||
| 68b45a8216 | |||
| fc8f7b49dd | |||
| 515e8b7b1a | |||
| bce7a6d434 | |||
| e919aca3dd | |||
| f026ba5160 | |||
| b5c028b93e | |||
| 14c5bc386f | |||
| 799b0caaf2 | |||
| f21adaa6ab | |||
| 00abc2bde5 | |||
| 160cbdb46a | |||
| 57a2a872a5 | |||
| dff39136a3 | |||
| 7c6c450662 | |||
| c540db0b4f | |||
| 7a87a426c8 | |||
| 222fb8290b | |||
| e2c1f83c7f | |||
| 8d1d2c0321 | |||
| 8feb4c1c3b | |||
| 3262599413 | |||
| 81e037b1ce | |||
| 486ed2b0da | |||
| d9ce6cdbef | |||
| 1396e9b0ef | |||
| 1fb3e8b2dc | |||
| fd3b3d6711 | |||
| 4b5bc0ac8d | |||
| 28fccd3f12 | |||
| 5918943192 | |||
| 84e55e9fac | |||
| b87c52240b |
@@ -4,3 +4,4 @@
|
||||
debian export-ignore
|
||||
weechat.spec export-ignore
|
||||
.mailmap export-ignore
|
||||
tests/ubuntu/ export-ignore
|
||||
|
||||
+1
-2
@@ -16,8 +16,7 @@ before_script:
|
||||
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint asciidoc source-highlight xsltproc docbook-xsl docbook-xml cmake pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.1-0-dev tcl8.5-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt11-dev libgnutls-dev zlib1g-dev curl
|
||||
- curl -OL https://weechat.org/files/tests/ubuntu/precise/amd64/libcpputest-dev_3.4-3_amd64.deb
|
||||
- sudo dpkg -i libcpputest-dev_3.4-3_amd64.deb
|
||||
- sudo dpkg -i ./tests/ubuntu/precise/libcpputest-dev_3.4-3_amd64.deb
|
||||
- sudo pip install msgcheck pylint
|
||||
|
||||
script:
|
||||
|
||||
@@ -64,6 +64,7 @@ Alphabetically:
|
||||
* Nils Görs (nils_2)
|
||||
* nyuszika7h
|
||||
* Odin
|
||||
* Ondřej Súkup
|
||||
* Patrick Steinhardt
|
||||
* Paul Komkoff
|
||||
* Pavel Shevchuk (Stalwart)
|
||||
|
||||
+3
-5
@@ -29,13 +29,10 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_SKIP_RPATH ON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
if(PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
|
||||
endif()
|
||||
|
||||
# version
|
||||
set(VERSION_MAJOR "1")
|
||||
set(VERSION_MINOR "2")
|
||||
set(VERSION_MINOR "3")
|
||||
set(VERSION_PATCH "")
|
||||
if(VERSION_PATCH STREQUAL "")
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||
@@ -215,7 +212,8 @@ endif()
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(doc)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
find_package(CppUTest)
|
||||
if(ENABLE_TESTS AND CPPUTEST_FOUND)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
+186
-115
@@ -15,23 +15,94 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
(file 'ReleaseNotes.asciidoc' in sources).
|
||||
|
||||
|
||||
== Version 1.3 (2015-08-16)
|
||||
|
||||
=== New features
|
||||
|
||||
* core: add completion "colors" (issue #481)
|
||||
* core: start/stop search in buffer at current scroll position by default,
|
||||
add key key[ctrl-q] to stop search and reset scroll (issue #76, issue #393)
|
||||
* core: add option weechat.look.key_grab_delay to set the default delay when
|
||||
grabbing a key with key[alt-k]
|
||||
* core: add option weechat.look.confirm_upgrade (issue #463)
|
||||
* core: allow key[ctrl-c] to exit WeeChat when the passphrase is asked on
|
||||
startup (issue #452)
|
||||
* core: allow pointer as list name in evaluation of hdata (issue #450)
|
||||
* core: add signal "signal_sighup"
|
||||
* api: add support of evaluated sub-strings and current date/time in function
|
||||
string_eval_expression() and command /eval
|
||||
* api: add function string_eval_path_home()
|
||||
* alias: add options "add", "addcompletion" and "del" in command /alias, remove
|
||||
command /unalias (issue #458)
|
||||
* irc: add option irc.network.channel_encode (issue #218, issue #482)
|
||||
* irc: add option irc.color.topic_current (issue #475)
|
||||
* irc: evaluate content of server option "nicks"
|
||||
* logger: evaluate content of option logger.file.path (issue #388)
|
||||
* relay: display value of HTTP header "X-Real-IP" for websocket connections
|
||||
(issue #440)
|
||||
* script: rename option script.scripts.dir to script.scripts.path, evaluate
|
||||
content of option (issue #388)
|
||||
* xfer: evaluate content of options xfer.file.download_path and
|
||||
xfer.file.upload_path (issue #388)
|
||||
|
||||
=== Bugs fixed
|
||||
|
||||
* core: flush stdout/stderr after sending text directly on them
|
||||
(fix corrupted data sent to hook_process() callback) (issue #442)
|
||||
* core: allow execution of command "/input return" on a buffer which is not
|
||||
displayed in a window
|
||||
* core: allow jump from current to previous buffer with default keys
|
||||
key[alt-j,NN] (issue #466)
|
||||
* core: fix crash if a file descriptor used in hook_fd() is too high
|
||||
(> 1024 on Linux/BSD) (issue #465)
|
||||
* core: fix display of invalid UTF-8 chars in bars
|
||||
* core: fix bar item "scroll" after /buffer clear (issue #448)
|
||||
* core: fix display of time in bare display when option
|
||||
weechat.look.buffer_time_format is set to empty string (issue #441)
|
||||
* api: add missing function infolist_search_var() in script API (issue #484)
|
||||
* api: add missing function hook_completion_get_string() in script API
|
||||
(issue #484)
|
||||
* api: fix type of value returned by functions strcasestr, utf8_prev_char,
|
||||
utf8_next_char, utf8_add_offset and util_get_time_string
|
||||
* api: fix type of value returned by function strcasestr
|
||||
* fifo: fix send error on Cygwin when something is received in the pipe
|
||||
(issue #436)
|
||||
* irc: fix update of lag item when the server lag changes
|
||||
* irc: do not allow command /query with a channel name (issue #459)
|
||||
* irc: decode/encode only text in IRC messages and not the headers
|
||||
(bug #29886, issue #218, issue #451)
|
||||
* irc: fix crash with commands /allchan, /allpv and /allserv if the executed
|
||||
command closes buffers (issue #445)
|
||||
* irc: do not open auto-joined channels buffers when option "-nojoin" is used
|
||||
in command /connect (even if the option irc.look.buffer_open_before_autojoin
|
||||
is on)
|
||||
* irc: fix errors displayed on WHOX messages received (issue #376)
|
||||
* lua: add detection of Lua 5.3
|
||||
* ruby: add detection of Ruby 2.2
|
||||
* xfer: fix crash if the DCC file socket number is too high
|
||||
(> 1024 on Linux/BSD) (issue #465)
|
||||
* xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages)
|
||||
(issue #425, issue #426)
|
||||
* doc: replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions
|
||||
(issue #354)
|
||||
|
||||
== Version 1.2 (2015-05-10)
|
||||
|
||||
=== New features
|
||||
|
||||
* core: add signals "signal_sigterm" and "signal_sigquit" (closes #114)
|
||||
* core: use environment variable WEECHAT_HOME on startup (closes #391)
|
||||
* core: remove WeeChat version from config files (closes #407)
|
||||
* core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
|
||||
* core: use environment variable WEECHAT_HOME on startup (issue #391)
|
||||
* core: remove WeeChat version from config files (issue #407)
|
||||
* core: add options weechat.look.quote_{nick_prefix|nick_suffix|time_format} to
|
||||
customize quoted messages in cursor mode (closes #403)
|
||||
* core: add a welcome message on first WeeChat run (closes #318)
|
||||
customize quoted messages in cursor mode (issue #403)
|
||||
* core: add a welcome message on first WeeChat run (issue #318)
|
||||
* core: add options weechat.look.word_chars_{highlight|input}
|
||||
(closes #55, task #9459)
|
||||
* core: display a warning on startup if the locale can not be set (closes #373)
|
||||
(issue #55, task #9459)
|
||||
* core: display a warning on startup if the locale can not be set (issue #373)
|
||||
* core: allow "*" as plugin name in command /plugin reload to reload all
|
||||
plugins with options
|
||||
* core: add option "-s" in command /eval to split expression before evaluating
|
||||
it (no more split by default) (closes #324)
|
||||
it (no more split by default) (issue #324)
|
||||
* core: add priority in plugins to initialize them in order
|
||||
* api: add support of environment variables in function
|
||||
string_eval_expression() and command /eval
|
||||
@@ -42,12 +113,12 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
"channel"
|
||||
* irc: optimize search of a nick in nicklist (up to 3x faster)
|
||||
* irc: add support of SHA-256 and SHA-512 algorithms in server option
|
||||
"ssl_fingerprint" (closes #281)
|
||||
* irc: add option "-noswitch" in command /query (closes #394)
|
||||
* irc: format message 008 (RPL_SNOMASK) (closes #144)
|
||||
* irc: add support of "account-notify" capability (closes #11, closes #246)
|
||||
* irc: remove server "freenode" from default config file (closes #309)
|
||||
* irc: add support of "ecdsa-nist256p-challenge" SASL mechanism (closes #251)
|
||||
"ssl_fingerprint" (issue #281)
|
||||
* irc: add option "-noswitch" in command /query (issue #394)
|
||||
* irc: format message 008 (RPL_SNOMASK) (issue #144)
|
||||
* irc: add support of "account-notify" capability (issue #11, issue #246)
|
||||
* irc: remove server "freenode" from default config file (issue #309)
|
||||
* irc: add support of "ecdsa-nist256p-challenge" SASL mechanism (issue #251)
|
||||
* doc: add Russian man page
|
||||
* javascript: new script plugin for javascript
|
||||
|
||||
@@ -61,22 +132,22 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* irc: fix color of new nick in nick changes messages when option
|
||||
irc.look.color_nicks_in_server_messages is off
|
||||
* irc: fix crash when setting an invalid regex with "/list -re" during a /list
|
||||
server response (closes #412)
|
||||
server response (issue #412)
|
||||
* irc: fix display of PART messages on channels with +a (anonymous flag)
|
||||
(closes #396)
|
||||
(issue #396)
|
||||
* irc: remove useless rename of channel buffer on JOIN received with different
|
||||
case (closes #336)
|
||||
case (issue #336)
|
||||
* irc: fix completion of commands /allchan and /allpv
|
||||
* lua: fix wrong argument usage in functions nicklist_remove_group,
|
||||
nicklist_remove_nick and nicklist_remove_all (closes #346)
|
||||
nicklist_remove_nick and nicklist_remove_all (issue #346)
|
||||
* lua: fix value returned in case of error in functions:
|
||||
config_option_reset, config_string, config_string_default, config_color,
|
||||
config_color_default, config_write, config_read, config_reload,
|
||||
hook_modifier_exec, buffer_string_replace_local_var, nicklist_group_set,
|
||||
nicklist_nick_set, command, upgrade_read, upgrade_close
|
||||
* relay: fix up/down keys on relay buffer (closes #335)
|
||||
* relay: fix up/down keys on relay buffer (issue #335)
|
||||
* relay: remove v4-mapped addresses in /help relay.network.allowed_ips
|
||||
(closes #325)
|
||||
(issue #325)
|
||||
* perl: fix value returned in case of error in functions:
|
||||
config_option_reset, config_color, config_color_default, config_write,
|
||||
config_read, config_reload, buffer_string_replace_local_var, command
|
||||
@@ -88,7 +159,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* python: fix name of function "bar_update" in case of error
|
||||
* python: fix restore of old interpreter when a function is not found in the
|
||||
script
|
||||
* ruby: fix crash on /plugin reload (closes #364)
|
||||
* ruby: fix crash on /plugin reload (issue #364)
|
||||
* ruby: fix value returned in case of error in functions:
|
||||
config_option_reset, config_color, config_color_default, config_write,
|
||||
config_read, config_reload, buffer_string_replace_local_var, command
|
||||
@@ -106,7 +177,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
print_date_tags, buffer_string_replace_local_var, command, infolist_new_item,
|
||||
infolist_new_var_integer, infolist_new_var_string, infolist_new_var_pointer,
|
||||
infolist_new_var_time, upgrade_write_object, upgrade_read, upgrade_close
|
||||
* trigger: do not hook anything if the trigger is disabled (closes #405)
|
||||
* trigger: do not hook anything if the trigger is disabled (issue #405)
|
||||
|
||||
== Version 1.1.1 (2015-01-25)
|
||||
|
||||
@@ -115,18 +186,18 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* core: fix random error when creating symbolic link weechat-curses on
|
||||
make install with cmake (bug #40313)
|
||||
* core: fix crash when a root bar has conditions different from
|
||||
active/inactive/nicklist (closes #317)
|
||||
active/inactive/nicklist (issue #317)
|
||||
* irc: don't close channel buffer on second /part when option
|
||||
irc.look.part_closes_buffer is off (closes #313)
|
||||
irc.look.part_closes_buffer is off (issue #313)
|
||||
* irc: fix /join on a channel buffer opened with autojoin but which failed to
|
||||
join
|
||||
* irc: send QUIT to server and no PART for channels when the server buffer
|
||||
is closed (closes #294)
|
||||
is closed (issue #294)
|
||||
* irc: fix order of channel buffers opened when option irc.look.server_buffer
|
||||
is set to "independent", irc.look.buffer_open_before_autojoin to "on" and
|
||||
irc.look.new_channel_position to "near_server" (closes #303)
|
||||
irc.look.new_channel_position to "near_server" (issue #303)
|
||||
* irc: fix crash in buffer close when server name is the same as a channel name
|
||||
(closes #305)
|
||||
(issue #305)
|
||||
|
||||
== Version 1.1 (2015-01-11)
|
||||
|
||||
@@ -136,8 +207,8 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* core: fully evaluate commands bound to keys in cursor and mouse contexts
|
||||
* core: add option weechat.completion.command_inline (task #12491)
|
||||
* core: add bar item "mouse_status", new options weechat.look.item_mouse_status
|
||||
and weechat.color.status_mouse (closes #247)
|
||||
* core: add signals "mouse_enabled" and "mouse_disabled" (closes #244)
|
||||
and weechat.color.status_mouse (issue #247)
|
||||
* core: add signals "mouse_enabled" and "mouse_disabled" (issue #244)
|
||||
* core: add hide of chars in string in evaluation of expressions
|
||||
* core: add arraylists, improve speed of completions (about 50x faster)
|
||||
* core: move bar item "scroll" between buffer name and lag in default bar items
|
||||
@@ -149,103 +220,103 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* api: add regex replace feature in function string_eval_expression()
|
||||
* api: use microseconds instead of milliseconds in functions
|
||||
util_timeval_diff() and util_timeval_add()
|
||||
* irc: add option "reorder" in command /server (closes #229)
|
||||
* irc: add option "reorder" in command /server (issue #229)
|
||||
* irc: open channel buffers before the JOIN is received from server (autojoin
|
||||
and manual joins), new options irc.look.buffer_open_before_{autojoin|join}
|
||||
(closes #216)
|
||||
(issue #216)
|
||||
* irc: add server option "sasl_fail" (continue/reconnect/disconnect if SASL
|
||||
fails) (closes #265, task #12204)
|
||||
* irc: add support for color codes 16-99 in IRC messages (closes #228), add
|
||||
fails) (issue #265, task #12204)
|
||||
* irc: add support for color codes 16-99 in IRC messages (issue #228), add
|
||||
infolist "irc_color_weechat"
|
||||
* irc: disable SSLv3 by default in server option "ssl_priorities" (closes #248)
|
||||
* irc: add support of "extended-join" capability (closes #143, closes #212)
|
||||
* irc: automatically add current channel in command /samode (closes #241)
|
||||
* irc: display own nick changes in server buffer (closes #188)
|
||||
* irc: disable SSLv3 by default in server option "ssl_priorities" (issue #248)
|
||||
* irc: add support of "extended-join" capability (issue #143, issue #212)
|
||||
* irc: automatically add current channel in command /samode (issue #241)
|
||||
* irc: display own nick changes in server buffer (issue #188)
|
||||
* irc: disable creation of temporary servers by default with command /connect,
|
||||
new option irc.look.temporary_servers
|
||||
* relay: add options "stop" and "restart" in command /relay
|
||||
* relay: add option relay.network.ssl_priorities (closes #234)
|
||||
* relay: add option relay.network.ssl_priorities (issue #234)
|
||||
* relay: add host in sender for IRC backlog PRIVMSG messages sent to clients
|
||||
* script: add option script.scripts.url_force_https (closes #253)
|
||||
* script: add option script.scripts.url_force_https (issue #253)
|
||||
* trigger: evaluate and replace regex groups at same time, new format for regex
|
||||
option in triggers (incompatible with version 1.0) (closes #224)
|
||||
option in triggers (incompatible with version 1.0) (issue #224)
|
||||
* trigger: add `${tg_displayed}` in conditions of default trigger "beep"
|
||||
* trigger: add option "restore" in command /trigger
|
||||
|
||||
=== Bugs fixed
|
||||
|
||||
* core: fix compilation of plugins with cmake >= 3.1 (closes #287)
|
||||
* core: fix compilation of plugins with cmake >= 3.1 (issue #287)
|
||||
* core: fix display bug when scrolling in buffer on a filtered line
|
||||
(closes #240)
|
||||
(issue #240)
|
||||
* core: send mouse code only one time to terminal with command
|
||||
/mouse enable|disable|toggle
|
||||
* core: fix buffer property "lines_hidden" when merging buffers or when a line
|
||||
is removed from a buffer (closes #226)
|
||||
is removed from a buffer (issue #226)
|
||||
* core: display time in bare display only if option
|
||||
weechat.look.buffer_time_format is not an empty string
|
||||
* core: fix translation of message displayed after /upgrade
|
||||
* doc: fix compilation of man pages with autotools in source directory
|
||||
* api: fix truncated process output in hook_process() (closes #266)
|
||||
* api: fix crash when reading config options with NULL value (closes #238)
|
||||
* tests: fix compilation of tests with clang (closes #275)
|
||||
* api: fix truncated process output in hook_process() (issue #266)
|
||||
* api: fix crash when reading config options with NULL value (issue #238)
|
||||
* tests: fix compilation of tests with clang (issue #275)
|
||||
* irc: defer the auto-connection to servers with a timer
|
||||
(closes #279, task #13038)
|
||||
(issue #279, task #13038)
|
||||
* irc: add missing server options "sasl_timeout" and "notify" in output of
|
||||
/server listfull
|
||||
* irc: use option irc.look.nick_mode_empty to display nick prefix in bar item
|
||||
"input_prompt"
|
||||
* irc: remove IRC color codes from buffer title in channels (closes #237)
|
||||
* irc: remove IRC color codes from buffer title in channels (issue #237)
|
||||
* irc: add tag "nick_xxx" in invite messages
|
||||
* irc: fix completion of commands /msg, /notice and /query
|
||||
* irc: fix translation of CTCP PING reply (closes #137)
|
||||
* irc: fix translation of CTCP PING reply (issue #137)
|
||||
* lua: add detection of Lua 5.2
|
||||
* python: fix Python detection with Homebrew (closes #217)
|
||||
* python: fix Python detection with Homebrew (issue #217)
|
||||
* relay: wait for message CAP END before sending join of channels and backlog
|
||||
to the client (closes #223)
|
||||
to the client (issue #223)
|
||||
* relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with
|
||||
sync "buffers" (closes #191)
|
||||
* relay: don't remove relay from config when the binding fails (closes #225)
|
||||
sync "buffers" (issue #191)
|
||||
* relay: don't remove relay from config when the binding fails (issue #225)
|
||||
* relay: use comma separator in option relay.irc.backlog_tags, check the value
|
||||
of option when it is changed with /set
|
||||
* relay: remove "::ffff:" from IPv4-mapped IPv6 client address (closes #111)
|
||||
* relay: remove "::ffff:" from IPv4-mapped IPv6 client address (issue #111)
|
||||
* trigger: fix memory leak when allocating a new trigger with several regex
|
||||
* xfer: fix freeze when accepting DCC (closes #160, closes #174)
|
||||
* xfer: bind to wildcard address when sending (closes #173)
|
||||
* xfer: fix freeze when accepting DCC (issue #160, issue #174)
|
||||
* xfer: bind to wildcard address when sending (issue #173)
|
||||
|
||||
== Version 1.0.1 (2014-09-28)
|
||||
|
||||
=== Bugs fixed
|
||||
|
||||
* core: fix crash on buffer close when option weechat.look.hotlist_remove is
|
||||
set to "merged" (closes #199)
|
||||
set to "merged" (issue #199)
|
||||
* core: fix highlight of IRC action messages when option irc.look.nick_mode is
|
||||
set to "action" or "both" (closes #206)
|
||||
set to "action" or "both" (issue #206)
|
||||
* core: fix compilation of plugin API functions (macros) when compiler
|
||||
optimizations are enabled (closes #200)
|
||||
optimizations are enabled (issue #200)
|
||||
* core: fix window/buffer pointers used in command /eval
|
||||
* core: fix modifier "weechat_print": discard only one line when several lines
|
||||
are displayed in same message (closes #171)
|
||||
are displayed in same message (issue #171)
|
||||
* api: fix bug in function hdata_move() when absolute value of count is greater
|
||||
than 1
|
||||
* tests: fix build of tests when the build directory is outside source tree
|
||||
(closes #178)
|
||||
(issue #178)
|
||||
* tests: fix memory leak in tests launcher
|
||||
* aspell: fix compilation with Enchant < 1.6.0 (closes #192)
|
||||
* aspell: fix compilation with Enchant < 1.6.0 (issue #192)
|
||||
* aspell: fix crash with command "/aspell addword" if no word is given
|
||||
(closes #164, closes #165)
|
||||
(issue #164, issue #165)
|
||||
* irc: fix display of channel exception list (348) with 6 arguments (date
|
||||
missing)
|
||||
* irc: fix type of value stored in hashtable when joining a channel
|
||||
(closes #211)
|
||||
* guile: fix compilation with Guile < 2.0.4 (closes #198)
|
||||
(issue #211)
|
||||
* guile: fix compilation with Guile < 2.0.4 (issue #198)
|
||||
* perl: fix detection of Perl >= 5.20 with autotools
|
||||
* relay: fix send of signals "relay_client_xxx" (closes #214)
|
||||
* relay: fix send of signals "relay_client_xxx" (issue #214)
|
||||
* script: fix crash on "/script update" if a script detail is displayed in
|
||||
buffer (closes #177)
|
||||
buffer (issue #177)
|
||||
* trigger: do not allow any changes on a trigger when it is currently running
|
||||
(closes #189)
|
||||
(issue #189)
|
||||
* trigger: fix regex used in default triggers to hide passwords ("\S" is not
|
||||
supported on *BSD) (closes #172)
|
||||
supported on *BSD) (issue #172)
|
||||
|
||||
== Version 1.0 (2014-08-15)
|
||||
|
||||
@@ -254,23 +325,23 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* core: add terabyte unit for size displayed
|
||||
* core: display a warning on startup if $TERM does not start with "screen"
|
||||
under screen/tmux
|
||||
* core: add option weechat.color.status_nicklist_count (closes #109,
|
||||
closes #110)
|
||||
* core: add option weechat.color.status_nicklist_count (issue #109,
|
||||
issue #110)
|
||||
* core: add option "env" in command /set (manage environment variables)
|
||||
* core: add bar item "buffer_short_name" (task #10882)
|
||||
* core: add option "send" in command /input (send text to a buffer)
|
||||
* core: add support of negated tags in filters (with "!")
|
||||
(closes #72, closes #74)
|
||||
(issue #72, issue #74)
|
||||
* core: add hidden buffers, add options hide/unhide in command /buffer
|
||||
* core: add default key key[alt--] (toggle filters in current buffer)
|
||||
(closes #17)
|
||||
(issue #17)
|
||||
* core: add non-active merged buffers with activity in hotlist (if another
|
||||
merged buffer is zoomed) (task #12845)
|
||||
* core: add text search in buffers with free content (task #13051)
|
||||
* core: add buffer property "clear"
|
||||
* core: add option weechat.look.hotlist_add_conditions, remove option
|
||||
weechat.look.hotlist_add_buffer_if_away
|
||||
* core: add option weechat.look.hotlist_remove (closes #99)
|
||||
* core: add option weechat.look.hotlist_remove (issue #99)
|
||||
* core: add options "-beep" and "-current" in command /print
|
||||
* core: add bare display mode (for easy text selection and click on URLs), new
|
||||
key: key[alt-l], new option "bare" in command /window, new options:
|
||||
@@ -292,7 +363,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* api: add option "signal" in function hook_set() to send a signal to the child
|
||||
process
|
||||
* api: add support of nested variables in function string_eval_expression() and
|
||||
command /eval (closes #35)
|
||||
command /eval (issue #35)
|
||||
* api: add support of escaped strings with format `${esc:xxx}` or `${\xxx}` in
|
||||
function string_eval_expression() and command /eval
|
||||
* api: add functions hashtable_dup(), string_replace_regex(),
|
||||
@@ -301,29 +372,29 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* alias: add default alias "msgbuf" (send text to a buffer)
|
||||
* exec: add exec plugin: new command /exec and file exec.conf
|
||||
* irc: display locally away status changes in private buffers (in addition to
|
||||
channels) (closes #117)
|
||||
channels) (issue #117)
|
||||
* irc: add value "+" for option irc.look.smart_filter_mode to use modes from
|
||||
server prefixes (this is now the default value) (closes #90)
|
||||
* irc: add bar item "irc_nick_modes" (closes #71)
|
||||
server prefixes (this is now the default value) (issue #90)
|
||||
* irc: add bar item "irc_nick_modes" (issue #71)
|
||||
* irc: add support of message 324 (channel modes) in option
|
||||
irc.look.display_join_message (closes #75)
|
||||
* irc: add option irc.look.join_auto_add_chantype (closes #65)
|
||||
irc.look.display_join_message (issue #75)
|
||||
* irc: add option irc.look.join_auto_add_chantype (issue #65)
|
||||
* irc: add tag with host ("host_xxx") in IRC messages displayed (task #12018)
|
||||
* irc: allow many fingerprints in server option ssl_fingerprint (closes #49)
|
||||
* irc: allow many fingerprints in server option ssl_fingerprint (issue #49)
|
||||
* irc: rename option irc.look.item_channel_modes_hide_key to
|
||||
irc.look.item_channel_modes_hide_args, value is now a string
|
||||
(task #12070, task #12163, closes #48)
|
||||
* irc: add option irc.color.item_nick_modes (closes #47)
|
||||
* irc: allow "$ident" in option irc.network.ban_mask_default (closes #18)
|
||||
* irc: add support of "away-notify" capability (closes #12)
|
||||
* irc: add command /remove (closes #91)
|
||||
* irc: add command /unquiet (closes #36)
|
||||
(task #12070, task #12163, issue #48)
|
||||
* irc: add option irc.color.item_nick_modes (issue #47)
|
||||
* irc: allow "$ident" in option irc.network.ban_mask_default (issue #18)
|
||||
* irc: add support of "away-notify" capability (issue #12)
|
||||
* irc: add command /remove (issue #91)
|
||||
* irc: add command /unquiet (issue #36)
|
||||
* irc: add command /allpv (task #13111)
|
||||
* irc: evaluate content of server options "username" and "realname"
|
||||
* relay: add messages "_buffer_cleared", "_buffer_hidden" and
|
||||
"_buffer_unhidden"
|
||||
* relay: add info "relay_client_count" with optional status name as argument
|
||||
* relay: add signals "relay_client_xxx" for client status changes (closes #2)
|
||||
* relay: add signals "relay_client_xxx" for client status changes (issue #2)
|
||||
* relay: add option relay.network.clients_purge_delay
|
||||
* rmodifier: remove plugin (replaced by trigger)
|
||||
* trigger: add trigger plugin: new command /trigger and file trigger.conf
|
||||
@@ -337,39 +408,39 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* core: fix memory leak when removing script files
|
||||
* core: fix result of hash function (in hashtables) on 32-bit systems
|
||||
* core: fix insert of mouse code in input line after a partial key combo
|
||||
(closes #130)
|
||||
* core: check code point value in UTF-8 check function (closes #108)
|
||||
* core: add option "-mask" in command /unset (closes #112)
|
||||
* core: fix socks5 proxy for curl downloads (closes #119)
|
||||
(issue #130)
|
||||
* core: check code point value in UTF-8 check function (issue #108)
|
||||
* core: add option "-mask" in command /unset (issue #112)
|
||||
* core: fix socks5 proxy for curl downloads (issue #119)
|
||||
* core: display curl error after a failed download
|
||||
* core: do not display content of passphrase on /secure buffer
|
||||
* core: fix potential memory leak with infolists not freed in plugins
|
||||
(debian #751108)
|
||||
* core: fix color display of last terminal color number + 1 (closes #101)
|
||||
* core: add option "-buffer" in command /command (closes #67)
|
||||
* core: fix color display of last terminal color number + 1 (issue #101)
|
||||
* core: add option "-buffer" in command /command (issue #67)
|
||||
* core: fix restoration of core buffer properties after /upgrade
|
||||
* core: fix "/buffer clear" with a name (don't clear all merged buffers with
|
||||
same number)
|
||||
* core: fix evaluation of expression with regex: when a comparison char is in
|
||||
the regex and don't evaluate the regex itself (closes #63)
|
||||
the regex and don't evaluate the regex itself (issue #63)
|
||||
* core: close .upgrade files before deleting them after /upgrade
|
||||
* core: fix refresh of bar item "buffer_zoom" on buffer switch
|
||||
* core: fix reset of attributes in bars when "resetcolor" is used (closes #41)
|
||||
* core: fix reset of attributes in bars when "resetcolor" is used (issue #41)
|
||||
* core: fix alignment of lines in merged buffers when options
|
||||
weechat.look.prefix_align and weechat.look.prefix_buffer_align are set to
|
||||
"none" (closes #43)
|
||||
"none" (issue #43)
|
||||
* core: quit WeeChat on signal SIGHUP, remove signal "signal_sighup"
|
||||
* core: fix add of filter on OS X when regex for message is empty (filter regex
|
||||
ending with "\t")
|
||||
* core: check validity of buffer pointer when data is sent to a buffer
|
||||
(command/text from user and API function command())
|
||||
* core: fix crash when buffer is closed during execution of multiple commands
|
||||
(closes #27)
|
||||
* core: fix compilation on SmartOS (bug #40981, closes #23)
|
||||
(issue #27)
|
||||
* core: fix compilation on SmartOS (bug #40981, issue #23)
|
||||
* core: add missing \0 at the end of stderr buffer in function hook_process()
|
||||
* core: fix highlight problem with "(?-i)" and upper case letters in option
|
||||
weechat.look.highlight (closes #24)
|
||||
* core: use glibtoolize on Mac OS X (autotools) (closes #22)
|
||||
weechat.look.highlight (issue #24)
|
||||
* core: use glibtoolize on Mac OS X (autotools) (issue #22)
|
||||
* core: fix detection of terminated process in function hook_process()
|
||||
* core: set option weechat.look.buffer_search_where to prefix_message by
|
||||
default
|
||||
@@ -400,16 +471,16 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* alias: change default command for alias /beep to "/print -beep"
|
||||
* guile: fix module used after unload of a script
|
||||
* irc: fix memory leak in CTCP answer
|
||||
* irc: fix duplicate sender name in display of wallops (closes #142,
|
||||
closes #145)
|
||||
* irc: fix duplicate sender name in display of wallops (issue #142,
|
||||
issue #145)
|
||||
* irc: fix extract of channel in parser for JOIN/PART messages when there is a
|
||||
colon before the channel name (closes #83)
|
||||
* irc: fix duplicate sender name in display of notice (closes #87)
|
||||
colon before the channel name (issue #83)
|
||||
* irc: fix duplicate sender name in display of notice (issue #87)
|
||||
* irc: fix refresh of buffer name in bar items after join/part/kick/kill
|
||||
(closes #86)
|
||||
(issue #86)
|
||||
* irc: display message 936 (censored word) on channel instead of server buffer
|
||||
* irc: make reason optional in command /kill
|
||||
* irc: add alias "whois" for target buffer of messages 401/402 (closes #54)
|
||||
* irc: add alias "whois" for target buffer of messages 401/402 (issue #54)
|
||||
* irc: fix truncated read on socket with SSL (bug #41558)
|
||||
* irc: display output of CAP LIST in server buffer
|
||||
* irc: fix colors in message with CTCP reply sent to another user
|
||||
@@ -422,19 +493,19 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* lua: fix interpreter used after unload of a script
|
||||
* perl: fix context used after unload of a script
|
||||
* python: fix read of return value for callbacks returning an integer
|
||||
in Python 2.x (closes #125)
|
||||
in Python 2.x (issue #125)
|
||||
* python: fix interpreter used after unload of a script
|
||||
* relay: fix memory leak during handshake on websocket
|
||||
* relay: fix memory leak when receiving commands from client (weechat protocol)
|
||||
* relay: fix crash when an IRC "MODE" command is received from client without
|
||||
arguments
|
||||
* relay: fix number of bytes sent/received on 32-bit systems
|
||||
* relay: fix crash when closing relay buffers (closes #57, closes #78)
|
||||
* relay: fix crash when closing relay buffers (issue #57, issue #78)
|
||||
* relay: check pointers received in hdata command to prevent crashes with bad
|
||||
pointers (WeeChat protocol)
|
||||
* relay: remove warning on /reload of relay.conf when ports are defined
|
||||
* relay: fix client disconnection on empty websocket frames received (PONG)
|
||||
* relay: add support of Internet Explorer websocket (closes #73)
|
||||
* relay: add support of Internet Explorer websocket (issue #73)
|
||||
* relay: fix crash on /upgrade received from a client (weechat protocol)
|
||||
* relay: fix freeze after /upgrade when many disconnected clients still exist
|
||||
* relay: fix NULL pointer when reading buffer lines for irc backlog
|
||||
@@ -443,14 +514,14 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* script: fix display of curl errors
|
||||
* script: set option script.scripts.cache_expire to 1440 by default
|
||||
* script: fix scroll on script buffer in the detailed view of script
|
||||
(closes #6)
|
||||
(issue #6)
|
||||
* scripts: fix crash when a signal is received with type "int" and NULL pointer
|
||||
in signal_data
|
||||
* xfer: fix problem with option xfer.file.auto_accept_nicks when the server
|
||||
name contains dots
|
||||
* xfer: fix freeze/problems when sending empty files with DCC (closes #53)
|
||||
* xfer: fix connection to remote host in DCC receive on Mac OS X (closes #25)
|
||||
* xfer: remove bind on xfer.network.own_ip (closes #5)
|
||||
* xfer: fix freeze/problems when sending empty files with DCC (issue #53)
|
||||
* xfer: fix connection to remote host in DCC receive on Mac OS X (issue #25)
|
||||
* xfer: remove bind on xfer.network.own_ip (issue #5)
|
||||
|
||||
== Version 0.4.3 (2014-02-09)
|
||||
|
||||
@@ -565,7 +636,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
|
||||
* irc: fix ignore on a host without nick
|
||||
* irc: use color code 0x1F (`ctrl-_`) for underlined text in input line (same
|
||||
code as messages) (bug #40756)
|
||||
* irc: use color code 0x16 (`ctrl-V`) for reverse video in messages
|
||||
* irc: use color code 0x16 (`ctrl-v`) for reverse video in messages
|
||||
* irc: use option irc.network.colors_send instead of irc.network.colors_receive
|
||||
when displaying messages sent by commands /away, /me, /msg, /notice, /query
|
||||
* irc: fix memory leak when checking the value of ssl_priorities option in
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ Build with autotools requires more dependencies and is slower than with CMake.
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=/path/to/directory
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
|
||||
$ make
|
||||
$ make install (as root for installation in system directories)
|
||||
----
|
||||
|
||||
@@ -17,6 +17,49 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
|
||||
(file 'ChangeLog.asciidoc' in sources).
|
||||
|
||||
|
||||
== Version 1.3 (2015-08-16)
|
||||
|
||||
=== IRC channels encoding
|
||||
|
||||
If you are using exotic charsets in your channel names (anything different from
|
||||
UTF-8, like ISO charset), you should turn on a new option:
|
||||
|
||||
----
|
||||
/set irc.network.channel_encode on
|
||||
----
|
||||
|
||||
This will force WeeChat to decode/encode the channel name
|
||||
(like WeeChat 1.2 or older did).
|
||||
|
||||
See these issues for more information: issue #482, issue #218.
|
||||
|
||||
[NOTE]
|
||||
It is *highly recommended* to use only UTF-8 in WeeChat (wherever you can),
|
||||
because everything is stored as UTF-8 internally.
|
||||
|
||||
=== Alias command
|
||||
|
||||
The command `/alias` has been updated to list, add and remove aliases.
|
||||
Therefore the command `/unalias` has been removed.
|
||||
|
||||
To add an alias, the argument `add` must be used in command `/alias` before the
|
||||
name, for example:
|
||||
|
||||
----
|
||||
/alias add split /window splith
|
||||
----
|
||||
|
||||
And the alias is removed with this command:
|
||||
|
||||
----
|
||||
/alias del split
|
||||
----
|
||||
|
||||
=== Script path
|
||||
|
||||
The option 'script.scripts.dir' has been renamed to 'script.scripts.path'
|
||||
(and the content is now evaluated, see `/help eval`).
|
||||
|
||||
== Version 1.2 (2015-05-10)
|
||||
|
||||
The word chars are now customizable with two options:
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
#
|
||||
|
||||
# - Find CppUTest
|
||||
# This module finds if Guile is installed and determines where the include files
|
||||
# and libraries are. It also determines what the name of the library is. This
|
||||
# code sets the following variables:
|
||||
# This module finds if CppUTest is installed and determines where the include
|
||||
# files and libraries are. It also determines what the name of the library is.
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# CPPUTEST_FOUND = CppUTest is installed
|
||||
# CPPUTEST_INCLUDE_DIRS = CppUTest include directory
|
||||
@@ -33,5 +33,5 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(CPPUTEST REQUIRED cpputest)
|
||||
pkg_search_module(CPPUTEST cpputest)
|
||||
endif()
|
||||
|
||||
+1
-1
@@ -35,5 +35,5 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(LUA lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
|
||||
pkg_search_module(LUA lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
|
||||
endif()
|
||||
|
||||
@@ -33,7 +33,7 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(RUBY ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8)
|
||||
pkg_search_module(RUBY ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8)
|
||||
endif()
|
||||
|
||||
if(RUBY_FOUND)
|
||||
|
||||
+2
-2
@@ -17,8 +17,8 @@
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Aspell
|
||||
# This module finds if libaspell is installed and determines where
|
||||
# - Find V8 (Google's Javascript engine)
|
||||
# This module finds if libv8 is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.56)
|
||||
AC_INIT(WeeChat, 1.2, flashcode@flashtux.org)
|
||||
AC_INIT(WeeChat, 1.3, flashcode@flashtux.org)
|
||||
AC_CONFIG_SRCDIR([configure.ac])
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
Vendored
+9
@@ -1,3 +1,12 @@
|
||||
weechat (1.1.1-1) unstable; urgency=medium
|
||||
|
||||
Since version 1.1, there is a new format for regexp replacement in
|
||||
triggers. This format is incompatible with version 1.0. The existing
|
||||
triggers will not be automatically updated.
|
||||
See http://www.weechat.org/files/releasenotes/ReleaseNotes-1.1.html
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:41:50 +0100
|
||||
|
||||
weechat (0.3.1-1) unstable; urgency=low
|
||||
|
||||
This release introduces important changes with the usage of SSL. There
|
||||
|
||||
Vendored
+19
@@ -1,3 +1,22 @@
|
||||
weechat (1.2-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
- Enable build of javascript plugin (using v8 engine)
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 11 May 2015 18:00:01 +0200
|
||||
|
||||
weechat (1.1.1-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release (Closes: #776105)
|
||||
- Add a new entry in News.Debian about new format for regex replacement
|
||||
in triggers
|
||||
* Update debian/{control,copyright,watch} to use https links with the
|
||||
upstream project resources
|
||||
* Bump Standards-Version to 3.9.6
|
||||
* Update year in debian/copyright
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:27:04 +0100
|
||||
|
||||
weechat (1.0.1-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
|
||||
Vendored
+1
-1
@@ -23,7 +23,7 @@ Build-Depends:
|
||||
libgcrypt20-dev,
|
||||
libgnutls28-dev,
|
||||
zlib1g-dev
|
||||
Standards-Version: 3.9.5
|
||||
Standards-Version: 3.9.6
|
||||
Homepage: https://weechat.org/
|
||||
Vcs-Git: git://anonscm.debian.org/users/kolter/weechat.git
|
||||
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=users/kolter/weechat.git
|
||||
|
||||
Vendored
-3
@@ -1,5 +1,2 @@
|
||||
[DEFAULT]
|
||||
upstream-branch = upstream
|
||||
debian-branch = unstable
|
||||
upstream-tag = v%(version)s
|
||||
compression = xz
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
|
||||
| weechat | buffers_plugins_names | Liste der Buffer (inklusive der Erweiterungen)
|
||||
|
||||
| weechat | colors | Farbnamen
|
||||
|
||||
| weechat | commands | Befehle (WeeChat und Erweiterungen)
|
||||
|
||||
| weechat | config_files | Konfigurationsdateien
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
*** 'away_message' (string)
|
||||
*** 'away_time' (time)
|
||||
*** 'lag' (integer)
|
||||
*** 'lag_displayed' (integer)
|
||||
*** 'lag_check_time' (other)
|
||||
*** 'lag_next_check' (time)
|
||||
*** 'lag_last_refresh' (time)
|
||||
@@ -942,6 +943,7 @@
|
||||
*** 'scrolling' (integer)
|
||||
*** 'start_col' (integer)
|
||||
*** 'lines_after' (integer)
|
||||
*** 'text_search_start_line' (pointer, hdata: "line")
|
||||
*** 'prev_scroll' (pointer, hdata: "window_scroll")
|
||||
*** 'next_scroll' (pointer, hdata: "window_scroll")
|
||||
* 'window_tree': Baumstruktur der Fenster
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|===
|
||||
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
|
||||
|
||||
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel ein)
|
||||
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
|
||||
|
||||
| irc | irc_message_split | dient zum Aufteilen einer überlangen IRC Nachricht (in maximal 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
|
||||
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
// DO NOT EDIT BY HAND!
|
||||
//
|
||||
[[command_alias_alias]]
|
||||
[command]*`alias`* Einem Befehl wird ein Alias zugewiesen::
|
||||
[command]*`alias`* auflisten, hinzufügen oder entfernen von Alternativnamen::
|
||||
|
||||
----
|
||||
/alias [-completion <completion>] <alias> [<command> [;<command>...]]
|
||||
/alias list [<alias>]
|
||||
add <alias> [<command>[;<command>...]]
|
||||
addcompletion <completion> <alias> [<command>[;<command>...]]
|
||||
del <alias> [<alias>...]
|
||||
|
||||
completion: optionale Vervollständigung für einen Alias-Befehl (Standardverhalten: Vervollständigung wird auf den Zielbefehl angewendet)
|
||||
Hinweis: Mit der Variablen "%%command" kann eine Vervollständigung eines vorhandenen Befehls durchgeführt werden
|
||||
alias: Name des Alias (Platzhalter "*" kann verwendet werden)
|
||||
command: Name des zuzuordnenden Befehls (WeeChat- oder IRC-Befehl ohne führenden '/', mehrere Befehle müssen durch Semikolon getrennt werden)
|
||||
|
||||
Ohne Angabe von Argumenten werden alle definierten Aliase angezeigt.
|
||||
list: listet Alternativbefehle auf (ohne Angabe von Argumenten wird diese Liste dargestellt)
|
||||
add: fügt einen Alternativbefehl hinzu
|
||||
addcompletion: fügt einen Alternativbefehl, mit einer benutzerdefinierten Vervollständigung, hinzu
|
||||
del: entfernt einen Alternativbefehl
|
||||
completion: Vervollständigung für Alternativbefehl: standardmäßig wird die Vervollständigung auf den Zielbefehl angewendet
|
||||
Hinweis: Mit der Variablen "%%command" kann eine Vervollständigung eines vorhandenen Befehls durchgeführt werden
|
||||
alias: Name des Alternativbefehls
|
||||
command: Name des zuzuordnenden Befehls, inklusive Argumenten (mehrere Befehle können durch Semikolon getrennt werden)
|
||||
|
||||
Anmerkung: Im Befehl können Variablen genutzt werden, die dann durch den entsprechenden Wert ersetzt werden:
|
||||
$n: Argument 'n' (zwischen 1 und 9)
|
||||
@@ -25,14 +30,12 @@ Anmerkung: Im Befehl können Variablen genutzt werden, die dann durch den entspr
|
||||
$var: "var" ist eine lokale Variable für den jeweiligen Buffer (siehe /buffer localvar)
|
||||
Beispiel: $nick, $channel, $server, $plugin, $name
|
||||
|
||||
Um ein Alias zu löschen wird der Befehl "/unalias" genutzt.
|
||||
|
||||
Beispiele:
|
||||
Alias "/split" wird anlegt um damit ein Fenster horizontal zu teilen:
|
||||
/alias split /window splith
|
||||
Alias "/hallo" wird angelegt um in allen Channels, außer im #weechat Channel, den Text "Hallo" auszugeben:
|
||||
/alias hallo /allchan -exclude=#weechat msg * Hallo
|
||||
Alias "/forcejoin" wird angelegt um den IRC Befehl "forcejoin" mit einer Vervollständigung von /sajoin auszuführen:
|
||||
/alias -completion %%sajoin forcejoin /quote forcejoin
|
||||
Alternativbefehl "/split" wird anlegt um ein Fenster horizontal zu teilen:
|
||||
/alias add split /window splith
|
||||
Alternativbefehl "/hallo" wird angelegt um in allen Channels, außer im #weechat Channel, den Text "Hallo" auszugeben:
|
||||
/alias add hallo /allchan -exclude=#weechat msg * hallo
|
||||
Alternativbefehl "/forcejoin" wird angelegt um den IRC Befehl "forcejoin" mit einer Vervollständigung von /sajoin auszuführen:
|
||||
/alias addcompletion %%sajoin forcejoin /quote forcejoin
|
||||
----
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ Ohne Angabe von Argumenten wird die Ban-Liste für den aktuellen Channel angezei
|
||||
-nojoin: Channel(s) werden nicht betreten (auch falls die Funktion "autojoin" aktiviert sein sollte)
|
||||
-switch: wechselt zur nächsten Server-Adresse
|
||||
|
||||
Um eine Verbindung zum Server zu beenden bzw. um Verbindungsversuche zu stoppen, wird der Befehl /disconnect verwendet.
|
||||
Um eine Verbindung zum Server, oder Verbindungsversuche, zu beenden wird der Befehl /disconnect verwendet.
|
||||
|
||||
Beispiele:
|
||||
/connect freenode
|
||||
@@ -691,7 +691,7 @@ listfull: listet alle Server auf, mit detaillierten Informationen zu jedem einze
|
||||
hostname: Name oder IP-Adresse des Servers. Optional kann zusätzlich der Port festgelegt werden (Standard-Port: 6667). Verschiedene Ports können durch Kommata getrennt werden
|
||||
temp: erstellt temporären Server (wird nicht gespeichert)
|
||||
option: legt die Optionen für den Server fest (die Boolean-Optionen können weggelassen werden)
|
||||
nooption: stellt die Boolean Einstellung auf "off" (Beispiel: -nossl)
|
||||
nooption: stellt die Boolean Einstellung auf 'off' (Beispiel: -nossl)
|
||||
copy: erstellt eine Kopie des Servers
|
||||
rename: benennt den Server um
|
||||
reorder: Anordnung der Server ändern
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
** Typ: Farbe
|
||||
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen (Standardwert: `default`)
|
||||
|
||||
* [[option_irc.color.topic_current]] *irc.color.topic_current*
|
||||
** Beschreibung: `Farbe in dem das aktuelle Thema des Channels dargestellt werden soll (wenn ein Channel betreten oder der Befehl /topic genutzt wird)`
|
||||
** Typ: Farbe
|
||||
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen (Standardwert: `default`)
|
||||
|
||||
* [[option_irc.color.topic_new]] *irc.color.topic_new*
|
||||
** Beschreibung: `Farbe in dem das neue Thema des Channels dargestellt werden soll, falls das Thema des Channels geändert wurde`
|
||||
** Typ: Farbe
|
||||
@@ -387,6 +392,11 @@
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"*!$ident@$host"`)
|
||||
|
||||
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
|
||||
** Beschreibung: `dekodieren/kodieren von Channelnamen innerhalb einer Nachricht mittels Charset-Optionen; es wird empfohlen diese Option deaktiviert zu lassen sofern man ausschließlich UTF-8 in Channelnamen verwendet. Diese Option sollte nur dann verwendet werden, sofern man exotische Zeichensätze wie ISO für Channelnamen nutzt`
|
||||
** Typ: boolesch
|
||||
** Werte: on, off (Standardwert: `off`)
|
||||
|
||||
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
|
||||
** Beschreibung: `wenn deaktiviert, werden Farben-Codes von eingehenden Nachrichten ignoriert`
|
||||
** Typ: boolesch
|
||||
@@ -543,7 +553,7 @@
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `""`)
|
||||
|
||||
* [[option_irc.server_default.nicks]] *irc.server_default.nicks*
|
||||
** Beschreibung: `Nicknamen, die auf dem IRC-Server benutzt werden sollen (durch Komma getrennt)`
|
||||
** Beschreibung: `Nicknamen, die auf dem IRC-Server benutzt werden sollen (durch Komma getrennt) (Hinweis: Inhalt wird evaluiert, siehe /help eval)`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `""`)
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `""`)
|
||||
|
||||
* [[option_logger.file.path]] *logger.file.path*
|
||||
** Beschreibung: `Pfad für WeeChat Protokolldateien; "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat"); eine Datumsspezifikation ist zulässig (siehe: man strftime)`
|
||||
** Beschreibung: `Pfad für WeeChat Protokolldateien; "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat"); eine Datumsspezifikation ist zulässig (siehe: man strftime) (Hinweis: Inhalt wird evaluiert, siehe /help eval)`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"%h/logs/"`)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@
|
||||
** Typ: integer
|
||||
** Werte: -1 .. 525600 (Standardwert: `1440`)
|
||||
|
||||
* [[option_script.scripts.dir]] *script.scripts.dir*
|
||||
** Beschreibung: `lokales Cache-Verzeichnis für Skripten`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.hold]] *script.scripts.hold*
|
||||
** Beschreibung: `Skripten welche "gehalten" werden sollen. Dies ist eine durch Kommata getrennte Liste von Skripten die weder aktualisiert noch entfernt werden können. Zum Beispiel: "buffers.pl,iset.pl"`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `""`)
|
||||
|
||||
* [[option_script.scripts.path]] *script.scripts.path*
|
||||
** Beschreibung: `lokales Cache-Verzeichnis für die Script-Erweiterung; "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat") (Hinweis: Inhalt wird evaluiert, siehe /help eval)`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.url]] *script.scripts.url*
|
||||
** Beschreibung: `URL mit dem Dateinamen, welches die Liste der Skripten enthält; standardmäßig wird HTTPS genutzt, siehe Option script.scripts.url_force_https`
|
||||
** Typ: Zeichenkette
|
||||
|
||||
@@ -151,7 +151,7 @@ Beispiele:
|
||||
alias: weist einer Farbzahl einen Namen zu
|
||||
unalias: entfernt einen Namen
|
||||
color: Farbnummer (>= 0, maximale Anzahl ist abhängig vom Terminal, üblicherweise 63 oder 255 Farben)
|
||||
name: Aliasname für eine Farbe (zum Beispiel: "orange")
|
||||
name: Alternativname für eine Farbe (zum Beispiel: "orange")
|
||||
reset: setzt alle Farbpaarungen zurück (nützlich falls keine Farbpaarung mehr verfügbar sein sollte und die automatische Reset-Option deaktiviert ist, siehe Einstellung: weechat.look.color_pairs_auto_reset)
|
||||
term2rgb: konvertiert eine Terminalfarbe (0-255) in eine RGB Farbe
|
||||
rgb2term: konvertiert eine RGB Farbe in eine Terminalfarbe (0-255)
|
||||
@@ -269,7 +269,7 @@ expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${vari
|
||||
=~ stimmt mit regulärem POSIX Ausdruck überein
|
||||
!~ stimmt NICHT mit regulärem POSIX Ausdruck überein
|
||||
|
||||
Ein Ausdruck gilt als "wahr", sofern das Ergebnis nicht NULL, nicht leer und von "0" abweichend ist.
|
||||
Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, leer und von "0" abweichend ist.
|
||||
Der Vergleich findet zwischen zwei Integer Werten statt, sofern die beiden Ausdrücke gültige Integer-Werte sind.
|
||||
Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrücke in Anführungszeichen gesetzt werden, zum Beispiel:
|
||||
50 > 100 ==> 0
|
||||
@@ -277,18 +277,22 @@ Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrü
|
||||
|
||||
Einige Variablen werden im Ausdruck, mittels der Formatierung ${Variable}, ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
|
||||
1. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
|
||||
2. Zeichen welche in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
|
||||
3. eine Farbe (Format: color:xxx)
|
||||
4. eine Info (Format: "info:name,arguments", Argumente sind optional)
|
||||
5. eine Umgebungsvariable (Format: "env:XXX")
|
||||
6. der Name einer Programmoption (Format: file.section.option)
|
||||
7. der Name einer lokalen Variablen eines Buffer
|
||||
8. ein hdata Name/Variable (der Wert wird automatisch als Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
|
||||
2. eine Zeichenkette welche Escape-Zeichen besitzt (Format: "esc:xxx" oder "\xxx")
|
||||
3. Zeichen welche in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
|
||||
4. eine Farbe (Format: color:xxx)
|
||||
5. eine Info (Format: "info:name,arguments", Argumente sind optional)
|
||||
6. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
|
||||
7. eine Umgebungsvariable (Format: "env:XXX")
|
||||
8. der Name einer Programmoption (Format: file.section.option)
|
||||
9. der Name einer lokalen Variablen eines Buffer
|
||||
10. ein hdata Name/Variable (der Wert wird automatisch als Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
|
||||
Das Format für hdata kann wie folgt aufgebaut sein:
|
||||
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
|
||||
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
|
||||
${buffer[gui_buffers].full_name}: der vollständige Name des ersten Buffers, in der verknüpften Liste aller Buffer
|
||||
${plugin[weechat_plugins].name}: Name der ersten Erweiterung, in der verknüpften Liste aller Erweiterungen
|
||||
hdata[pointer].var1.var2...: startet hdata mittels einem Pointer, zum Beispiel:
|
||||
${buffer[0x1234abcd].full_name}: vollständiger Name eines Buffers und des dazugehörigen Pointers (kann in triggern benutzt werden)
|
||||
Die vorhandenen Namen für hdata und Variablen sind in der "Anleitung für API Erweiterung", Bereich "weechat_hdata_get". beschrieben
|
||||
|
||||
Beispiele (einfache Zeichenketten):
|
||||
@@ -301,6 +305,7 @@ Beispiele (einfache Zeichenketten):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
|
||||
Beispiele (Bedingungen):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
@@ -413,13 +418,15 @@ Auflistung der möglichen Aktionen:
|
||||
return: simuliert die "enter" Taste
|
||||
complete_next: vervollständigt Wort mit nächster Komplettierung
|
||||
complete_previous: vervollständigt Word mit vorheriger Komplettierung
|
||||
search_text: sucht nach Text im Buffer
|
||||
search_text_here: Textsuche ab aktueller Position
|
||||
search_text: Textsuche im Buffer
|
||||
search_switch_case: schaltet Groß-/Kleinschreibung ein und aus
|
||||
search_switch_regex: Wechsel des Suchmodus: einfache Textsuche/reguläre Ausdrücke
|
||||
search_switch_where: wechselt Suche in Nachricht/Präfix
|
||||
search_previous: sucht vorheriger Zeile
|
||||
search_next: sucht nächste Zeile
|
||||
search_stop: suche stoppen
|
||||
search_stop_here: beendet Suche ab aktueller Position
|
||||
search_stop: suche beenden
|
||||
delete_previous_char: entfernt vorheriges Zeichen
|
||||
delete_next_char: entfernt nächstes Zeichen
|
||||
delete_previous_word: entfernt vorheriges Wort
|
||||
@@ -616,7 +623,7 @@ Ohne Angabe eines Arguments werden alle installierten Erweiterungen angezeigt.
|
||||
-beep
|
||||
|
||||
-buffer: Buffer in welchem der Text ausgegeben werden soll (standardmäßig: aktueller Buffer)
|
||||
-core: Alias für "-buffer core.weechat"
|
||||
-core: Alternativname für "-buffer core.weechat"
|
||||
-current: Text wird im aktuell genutzten Buffer ausgegeben
|
||||
-escape: Escapesequenzen werden umgewandelt (zum Beispiel \a, \07, \x07)
|
||||
-date: Datum der Nachricht, mögliche Formatierung:
|
||||
@@ -660,18 +667,18 @@ Beispiele:
|
||||
del <name>|-all
|
||||
set <name> <option> <value>
|
||||
|
||||
list: listet alle Proxys auf
|
||||
add: fügt neuen Proxy hinzu
|
||||
list: listet alle Proxys auf
|
||||
add: fügt neuen Proxy hinzu
|
||||
name: Name des neuen Proxy (der Name darf nur einmal genutzt werden)
|
||||
type: http, socks4 oder socks5
|
||||
address: IP oder Hostname
|
||||
port: Port
|
||||
username: Username (optional)
|
||||
password: Passwort (optional)
|
||||
del: entfernt einen Proxy (-all um alle Proxys zu entfernen)
|
||||
set: setzt einen Wert für Proxy
|
||||
option: Optionen die geändert werden (für eine Liste der möglichen Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxyname>.*)
|
||||
value: neuer Wert für Option
|
||||
type: http, socks4 oder socks5
|
||||
address: IP oder Hostname
|
||||
port: Port
|
||||
username: Username (optional)
|
||||
password: Passwort (optional)
|
||||
del: entfernt einen Proxy (-all um alle Proxys zu entfernen)
|
||||
set: setzt einen Wert für Proxy
|
||||
option: Optionen die geändert werden (für eine Liste der möglichen Optionen, bitte folgenden Befehl nutzen: /set weechat.proxy.<proxyname>.*)
|
||||
value: neuer Wert für Option
|
||||
|
||||
Beispiele:
|
||||
erstellt einen HTTP-Proxy, der auf einem lokalen Host läuft und den Port 8888 nutzt:
|
||||
@@ -757,12 +764,10 @@ Wird eine Passphrase verwendet (Daten liegen verschlüsselt vor), fragt WeeChat
|
||||
Es ist möglich eine Umgebungsvariable "WEECHAT_PASSPHRASE" zu setzen um die Eingabeaufforderung beim Programmstart zu vermeiden (diese Variable wird auch von WeeChat beim /upgrade verwendet).
|
||||
|
||||
schutzwürdige Daten mit dem Format ${sec.data.xxx} können wie folgt genutzt werden:
|
||||
- Befehl /eval.
|
||||
- Argument in der Befehlszeile für "--run-command"
|
||||
- Einstellung weechat.startup.command_{before|after}_plugins
|
||||
- Proxy-Optionen: username, password
|
||||
- IRC Server Optionen: autojoin, command, password, sasl_{username|password}, Username, Realname
|
||||
- Einstellung relay.network.password
|
||||
- Befehl /eval.
|
||||
- weitere Optionen die Passwörter oder sensible Daten beinhalten (zum Beispiel: proxy, irc server und relay); nutze /help mit der entsprechenden Option um zu überprüfen ob die Daten evaluiert werden.
|
||||
|
||||
Beispiele:
|
||||
festlegen eine Passphrase:
|
||||
@@ -773,8 +778,8 @@ Beispiele:
|
||||
verschlüsselt oftc Passwort für nickserv:
|
||||
/secure set oftc meinPasswort
|
||||
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
|
||||
alias um den eigenen Nick zu ghosten:
|
||||
/alias ghost /eval /msg -server freenode nickserv ghost meinNick ${sec.data.freenode}
|
||||
Alternativbefehl um den eigenen Nick zu ghosten:
|
||||
/alias add ghost /eval /msg -server freenode nickserv ghost meinNick ${sec.data.freenode}
|
||||
----
|
||||
|
||||
[[command_weechat_set]]
|
||||
@@ -836,8 +841,9 @@ Beispiele:
|
||||
[command]*`upgrade`* Aktualisiert WeeChat ohne die Verbindung zum Server zu trennen::
|
||||
|
||||
----
|
||||
/upgrade [<path_to_binary>|-quit]
|
||||
/upgrade [-yes] [<path_to_binary>|-quit]
|
||||
|
||||
-yes: wird benötigt, sobald Option weechat.look.confirm_upgrade aktiviert ist
|
||||
path_to_binary: Pfad zu einer ausführbaren WeeChat Binärdatei (Standardeinstellung ist die aktuell ausführbare Datei)
|
||||
-dummy: ohne Funktion (dient lediglich dazu, um nicht versehentlich die "-quit" Funktion auszuführen)
|
||||
-quit: trennt *ALLE* Verbindungen, speichert die aktuelle Sitzung und beendet WeeChat, um den aktuellen Zustand später wiederherstellen (siehe unten)
|
||||
@@ -882,7 +888,7 @@ Es ist möglich die WeeChat-Sitzung auf einem anderen Rechner wiederherzustellen
|
||||
-o: die Version von WeeChat wird in den aktuellen Buffer ausgegeben (in englischer Sprache)
|
||||
-ol: die Version von WeeChat wird in den aktuellen Buffer ausgegeben (in der voreingestellten Landessprache)
|
||||
|
||||
Um diesen Befehl in jedem Buffer ausführen zu können, kann der Standardalias /v genutzt werden (andernfalls wird der IRC Befehl /version in einem IRC Buffer ausgeführt).
|
||||
Um diesen Befehl in jedem Buffer ausführen zu können, kann der Standardkurzbefehl /v genutzt werden (andernfalls wird der IRC Befehl /version in einem IRC Buffer ausgeführt).
|
||||
----
|
||||
|
||||
[[command_weechat_wait]]
|
||||
@@ -927,7 +933,7 @@ Beispiele:
|
||||
scroll_horiz [-window <number>] [+/-]<value>[%]
|
||||
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
|
||||
swap [-window <number>] [up|down|left|right]
|
||||
zoom[-window <number>]
|
||||
zoom [-window <number>]
|
||||
bare [<delay>]
|
||||
|
||||
list: listet die geöffneten Fenster (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
|
||||
|
||||
@@ -542,6 +542,11 @@
|
||||
** Typ: boolesch
|
||||
** Werte: on, off (Standardwert: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_upgrade]] *weechat.look.confirm_upgrade*
|
||||
** Beschreibung: `ist diese Einstellung aktiviert, muss der "/upgrade" Befehl mit dem Argument "-yes" ausgeführt werden (siehe /help upgrade)`
|
||||
** Typ: boolesch
|
||||
** Werte: on, off (Standardwert: `off`)
|
||||
|
||||
* [[option_weechat.look.day_change]] *weechat.look.day_change*
|
||||
** Beschreibung: `bei einem Datumswechsel wird eine entsprechende Nachricht angezeigt`
|
||||
** Typ: boolesch
|
||||
@@ -712,6 +717,11 @@
|
||||
** Typ: boolesch
|
||||
** Werte: on, off (Standardwert: `on`)
|
||||
|
||||
* [[option_weechat.look.key_grab_delay]] *weechat.look.key_grab_delay*
|
||||
** Beschreibung: `Standardverzögerung (in Millisekunden) um eine Tasteneingabe zu greifen (Standardtastenbelegung: alt-k); die Verzögerung kann mit dem /input Befehl angepasst werden (siehe /help input)`
|
||||
** Typ: integer
|
||||
** Werte: 1 .. 10000 (Standardwert: `800`)
|
||||
|
||||
* [[option_weechat.look.mouse]] *weechat.look.mouse*
|
||||
** Beschreibung: `Mausunterstützung einschalten`
|
||||
** Typ: boolesch
|
||||
|
||||
@@ -83,12 +83,12 @@
|
||||
** Werte: on, off (Standardwert: `on`)
|
||||
|
||||
* [[option_xfer.file.download_path]] *xfer.file.download_path*
|
||||
** Beschreibung: `Pfad in welchem die ankommenden Dateien gespeichert werden ("%h" wird durch das WeeChat Verzeichnis ersetzt, Standardverzeichnis: "~/.weechat")`
|
||||
** Beschreibung: `Pfad für eingehende Dateien: "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat") (Hinweis: Inhalt wird evaluiert, siehe /help eval)`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"%h/xfer"`)
|
||||
|
||||
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
|
||||
** Beschreibung: `Pfad in welchem sich die Quelldatei befindet (falls vom Anwender kein Pfad angegeben wurde) ("%h" wird durch das WeeChat Verzeichnis ersetzt, Standardverzeichnis: "~/.weechat")`
|
||||
** Beschreibung: `Pfad für ausgehende Dateien (falls kein Pfad durch den Anwender angegeben wurde): "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat") (Hinweis: Inhalt wird evaluiert, siehe /help eval)`
|
||||
** Typ: Zeichenkette
|
||||
** Werte: beliebige Zeichenkette (Standardwert: `"~"`)
|
||||
|
||||
|
||||
@@ -124,6 +124,19 @@ Für Weechat wird die Nutzung von UTF-8 locale empfohlen. Nutzt Du jedoch ISO
|
||||
oder andere locale, bitte vergewissere Dich, dass *alle* Deine Einstellungen
|
||||
(Terminal, screen, ...) sich auch auf ISO beziehen und *nicht* auf UTF-8.
|
||||
|
||||
[[unicode_chars]]
|
||||
=== Einige Unicode-Zeichen werden im Terminal angezeigt aber in WeeChat nicht, warum?
|
||||
|
||||
Dies kann durch einen Fehler in der Funktion 'wcwidth' von libc hervorgerufen werden.
|
||||
Dieser Fehler sollte durch glibc 2.22 behoben sein (vielleicht ist diese Version in der
|
||||
verwendeten Distributionen noch nicht verfügbar),
|
||||
|
||||
Es gibt folgende Übergangslösung um das Problem mit der 'wcwidth' zu umgehen:
|
||||
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
|
||||
|
||||
Siehe diesen Fehlermeldung für weitere Informationen:
|
||||
https://github.com/weechat/weechat/issues/79
|
||||
|
||||
[[bars_background]]
|
||||
=== Weshalb haben Bars, z.B. Titel und Status, keine Hintergrundfarbe bzw. diese endet direkt nach dem Text?
|
||||
|
||||
@@ -565,10 +578,10 @@ Konfiguration des Servers, Port, SSL und dann einen Connect durchführen:
|
||||
|
||||
Einige Server, wie z.B. 'twitch', verlangen oauth für eine Verbindung.
|
||||
|
||||
Bei oauth handelt es sich lediglich um ein Passwort mit dem Format "oauth:XXXX".
|
||||
Bei oauth handelt es sich lediglich um ein Passwort in dem Format "oauth:XXXX".
|
||||
|
||||
Mit folgenden Befehlen kann man einen Server erstellen und sich mit diesem
|
||||
verbinden (Name und Adresse muss durch entsprechende Werte ersetzt werden):
|
||||
Um einen solchen Server hinzuzufügen und sich mit diesem zu Verbinden (ersetze "name"
|
||||
und Adresse durch passende Werte):
|
||||
|
||||
----
|
||||
/server add name irc.server.org -password=oauth:XXXX
|
||||
|
||||
@@ -404,7 +404,7 @@ Liste der Skript API Funktionen:
|
||||
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
|
||||
strlen_screen, string_match, string_has_highlight, string_has_highlight_regex,
|
||||
string_mask_to_regex, string_remove_color, string_is_command_char,
|
||||
string_input_for_buffer, string_eval_expression
|
||||
string_input_for_buffer, string_eval_expression, string_eval_path_home
|
||||
| Verzeichnisse |
|
||||
mkdir_home, mkdir, mkdir_parents
|
||||
| sortierte Listen |
|
||||
@@ -918,16 +918,86 @@ Eine fehlerhafte Nachricht kann WeeChat zum Absturz bringen oder andere ernsthaf
|
||||
|
||||
_Neu seit Version 0.3.4._
|
||||
|
||||
Man kann IRC Nachrichten mittels einer info_hashtable mit dem Namen "irc_message_parse" parsen.
|
||||
Man kann IRC Nachrichten mittels einer info_hashtable mit dem Namen
|
||||
"irc_message_parse" parsen.
|
||||
|
||||
Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
|
||||
(das Beispiel bezieht sich auf folgende IRC Nachricht:
|
||||
`@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!`):
|
||||
|
||||
[width="100%",cols="1,^2,10,8",options="header"]
|
||||
|===
|
||||
| Schlüssel | WeeChat version | Beschreibung | Beispiel
|
||||
|
||||
| Tags | ≥ 0.4.0 |
|
||||
Tags in der Nachricht (kann leer sein) |
|
||||
`time=2015-06-27T16:40:35.000Z`
|
||||
|
||||
| message_without_tags | ≥ 0.4.0 |
|
||||
Die IRC Nachricht ohne Tags (wie eine Nachricht ohne Tags) |
|
||||
`:nick!user@host PRIVMSG #weechat :hello!`
|
||||
|
||||
| nick | ≥ 0.3.4 |
|
||||
der ursprüngliche Nick |
|
||||
`nick`
|
||||
|
||||
| host | ≥ 0.3.4 |
|
||||
der ursprüngliche Host (beinhaltet den Nick) |
|
||||
`nick!user@host`
|
||||
|
||||
| command | ≥ 0.3.4 |
|
||||
der Befehl ('PRIVMSG', 'NOTICE', ...) |
|
||||
`PRIVMSG`
|
||||
|
||||
| channel | ≥ 0.3.4 |
|
||||
der Zielchannel|
|
||||
`#weechat`
|
||||
|
||||
| arguments | ≥ 0.3.4 |
|
||||
das Argument des Befehls (beinhaltet den Channel) |
|
||||
`#weechat :hello!`
|
||||
|
||||
| text | ≥ 1.3 |
|
||||
der Text (zum Beispiel eine Nachricht eines Users) |
|
||||
`hello!`
|
||||
|
||||
| pos_command | ≥ 1.3 |
|
||||
Index von 'command' innerhalb einer Nachricht ("-1" falls 'command' nicht gefunden wird) |
|
||||
`47`
|
||||
|
||||
| pos_arguments | ≥ 1.3 |
|
||||
Index von'arguments' innerhalb einer Nachricht ("-1" falls 'arguments' nicht gefunden wird) |
|
||||
`55`
|
||||
|
||||
| pos_channel | ≥ 1.3 |
|
||||
Index von 'channel' innerhalb einer Nachricht ("-1" falls 'channel' nicht gefunden wird) |
|
||||
`55`
|
||||
|
||||
| pos_text | ≥ 1.3 |
|
||||
Index von 'text' innerhalb einer Nachricht ("-1" falls 'text' nicht gefunden wird) |
|
||||
`65`
|
||||
|===
|
||||
|
||||
[source,python]
|
||||
----
|
||||
dict = weechat.info_get_hashtable("irc_message_parse",
|
||||
{"message": ":nick!user@host PRIVMSG #weechat :message here"})
|
||||
weechat.prnt("", "dict: %s" % dict)
|
||||
dict = weechat.info_get_hashtable(
|
||||
"irc_message_parse",
|
||||
{"message": "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!"})
|
||||
|
||||
# output:
|
||||
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
|
||||
# dict == {
|
||||
# "tags": "time=2015-06-27T16:40:35.000Z",
|
||||
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
|
||||
# "nick": "nick",
|
||||
# "host": "nick!user@host",
|
||||
# "command": "PRIVMSG",
|
||||
# "channel": "#weechat",
|
||||
# "arguments": "#weechat :hello!",
|
||||
# "text": "hello!",
|
||||
# "pos_command": "47",
|
||||
# "pos_arguments": "55",
|
||||
# "pos_channel": "55",
|
||||
# "pos_text": "65",
|
||||
# }
|
||||
----
|
||||
|
||||
[[infos]]
|
||||
|
||||
@@ -99,7 +99,7 @@ Um die Quellen zu übersetzen, wird cmake empfohlen:
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
@@ -37,8 +37,9 @@ wesentliche Merkmale:
|
||||
* IRC RFCs konform http://tools.ietf.org/html/rfc1459[1459],
|
||||
http://tools.ietf.org/html/rfc2810[2810],
|
||||
http://tools.ietf.org/html/rfc2811[2811],
|
||||
http://tools.ietf.org/html/rfc2812[2812] and
|
||||
http://tools.ietf.org/html/rfc2812[2812] und
|
||||
http://tools.ietf.org/html/rfc2813[2813]
|
||||
* IRC proxy und relay für remote Schnittstellen
|
||||
* Betriebssystemunabhängig (GNU/Linux, *BSD, MacOS X, Windows und weitere)
|
||||
* 100% GPL, freie Software
|
||||
|
||||
@@ -70,6 +71,7 @@ Binärpakete sind für folgende Distributionen erhältlich:
|
||||
* Arch Linux: `pacman -S weechat`
|
||||
* Fedora Core: `yum install weechat`
|
||||
* Sourcemage: `cast weechat`
|
||||
* Cygwin (Windows): wähle das WeeChat Paket in setup.exe aus
|
||||
|
||||
zusätzliche Pakete können bzw. sollten installiert werden. Zum Beispiel: weechat-plugins.
|
||||
|
||||
@@ -196,7 +198,7 @@ $ make
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=/Pfad/zum/Verzeichnis
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/Pfad/zum/Verzeichnis
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
@@ -213,7 +215,7 @@ Liste von häufig verwendeten Optionen:
|
||||
Art des builds: `Debug` (oder `RelWithDebInfo`) sollte verwendet werden, wenn meine eine Entwicklerversion
|
||||
von WeeChat nutzt.
|
||||
|
||||
| PREFIX | Verzeichnis | /usr/local |
|
||||
| CMAKE_INSTALL_PREFIX | Verzeichnis | /usr/local |
|
||||
Verzeichnis in welchem WeeChat installiert wird.
|
||||
|
||||
| WEECHAT_HOME | Verzeichnis | ~/.weechat |
|
||||
@@ -1119,7 +1121,7 @@ Befehl festgelegt werden:
|
||||
| key[Backsp.] .2+| entfernt in der Befehlszeile das vorherige Zeichen .2+| `/input delete_previous_char`
|
||||
| key[ctrl-h]
|
||||
| key[ctrl-k] | entfernt alle Zeichen vom Cursor bis zum Ende der Zeile (Zeichenkette wird in Zwischenablage kopiert) | `/input delete_end_of_line`
|
||||
| key[ctrl-r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>) | `/input search_text`
|
||||
| key[ctrl-r] | Textsuche im Verlaufsspeicher des Buffers (siehe <<key_bindings_search_context,Tasten für Such-Kontext>>) | `/input search_text_here`
|
||||
| key[ctrl-t] | Zeichen austauschen | `/input transpose_chars`
|
||||
| key[ctrl-u] | entfernt alle Zeichen vom Cursor bis zum Anfang der Zeile (Zeichenkette wird in Zwischenablage kopiert) | `/input delete_beginning_of_line`
|
||||
| key[ctrl-w] | entfernt das Wort links vom Cursor (entferntes Wort wird in Zwischenablage kopiert) | `/input delete_previous_word`
|
||||
@@ -1180,7 +1182,7 @@ Befehl festgelegt werden:
|
||||
| key[alt-j,alt-r] | wechselt zum IRC RAW Buffer | `/server raw`
|
||||
| key[alt-j,alt-s] | wechselt zum IRC Server Buffer | `/server jump`
|
||||
| key[alt-0...9] | wechselt zum Buffer mit der Nummer (0 = 10) | `/buffer *N`
|
||||
| key[alt-j,01...99] | wechselt zum Buffer mit der angegeben Nummer | `/buffer NN`
|
||||
| key[alt-j,01...99] | wechselt zum Buffer mit der angegeben Nummer | `/buffer *NN`
|
||||
| key[alt-l] | schaltet einfachen Anzeigemodus an/aus | `/window bare`
|
||||
| key[alt-m] | schaltet Mausfunktion ein/aus | `/mouse toggle`
|
||||
| key[alt-n] | springt zur nächsten Highlight Nachricht | `/window scroll_next_highlight`
|
||||
@@ -1214,9 +1216,10 @@ in einem Buffer nach einem Text zu suchen).
|
||||
| key[Tab] | wechselt Suche in: Nachricht (Standard), im Präfix, Präfix + Nachricht | `/input search_switch_where`
|
||||
| key[↑] | sucht vorheriger Zeile | `/input search_previous`
|
||||
| key[↓] | sucht nächste Zeile | `/input search_next`
|
||||
| key[Enter] .3+| Suche abbrechen .3+| `/input search_stop`
|
||||
| key[Enter] .3+| beendet Suche ab aktueller Position .3+| `/input search_stop_here`
|
||||
| key[ctrl-j]
|
||||
| key[ctrl-m]
|
||||
| key[ctrl-q] | beendet Suche und blättert zum Ende des Buffers | `/input search_stop`
|
||||
|===
|
||||
|
||||
[[key_bindings_cursor_context]]
|
||||
@@ -2232,10 +2235,9 @@ $ mkdir -p ~/.weechat/ssl
|
||||
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
|
||||
----
|
||||
|
||||
Hinweis: es ist möglich mehrere Zertifikate in der Datei CAs.pem zu halten.
|
||||
Hinweis: es ist möglich mehrere Zertifikate in der Datei CAs.pem zu verwenden.
|
||||
|
||||
* In WeeChat startet man nun eine Verbindung zum "oftc" Server (der vorher angelegt
|
||||
werden musste):
|
||||
* In WeeChat, sofern der Server "oftc" schon hinzufügt wurde:
|
||||
|
||||
----
|
||||
/connect oftc
|
||||
@@ -2252,8 +2254,7 @@ $ cd ~/.weechat/ssl
|
||||
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
|
||||
----
|
||||
|
||||
* In WeeChat startet man nun eine Verbindung zum "oftc" Server (der vorher angelegt
|
||||
werden musste):
|
||||
* In WeeChat, sofern der Server "oftc" schon hinzufügt wurde:
|
||||
|
||||
----
|
||||
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
|
||||
@@ -2352,13 +2353,13 @@ und Port müssen dabei an die eigene TOR Konfiguration angepasst werden):
|
||||
/proxy add tor socks5 127.0.0.1 9050
|
||||
----
|
||||
|
||||
Nun erstellt man einen neuen Server, zum Beispiel:
|
||||
Jetzt muss der neue Server hinzufügt werden, zum Beispiel:
|
||||
|
||||
----
|
||||
/server add freenode-tor p4fsi4ockecnea7l.onion
|
||||
----
|
||||
|
||||
Der Proxy muss für TOR angelegt werden:
|
||||
Einen Proxy für TOR anlegen:
|
||||
|
||||
----
|
||||
/set irc.server.freenode-tor.proxy "tor"
|
||||
@@ -3321,8 +3322,21 @@ und die Daten in einer Hashtable gesichert:
|
||||
| command | string | IRC Befehl (Beispiel: "PRIVMSG", "NOTICE", ...)
|
||||
| channel | string | IRC Channel
|
||||
| arguments | string | Argumente des Befehls (Beinhaltet Wert von 'channel')
|
||||
| text | string | Text (zum Beipiel eine Nachricht eines Users)
|
||||
| pos_command | string | Index von 'command' innerhalb einer Nachricht ("-1" falls 'command' nicht gefunden wird)
|
||||
| pos_arguments | string | Index von'arguments' innerhalb einer Nachricht ("-1" falls 'arguments' nicht gefunden wird)
|
||||
| pos_channel | string | Index von 'channel' innerhalb einer Nachricht ("-1" falls 'channel' nicht gefunden wird)
|
||||
| pos_text | string | Index von 'text' innerhalb einer Nachricht ("-1" falls 'text' nicht gefunden wird)
|
||||
|===
|
||||
|
||||
Sofern es sich bei den Daten um einen Pointer handelt, kann die Variable `tg_signal_data`
|
||||
wie im folgenden Beispiel genutzt werden um den Inhalt von hdata zu lesen (im Beispiel
|
||||
wird der Pointer eines Buffer verwendet):
|
||||
|
||||
----
|
||||
${buffer[${tg_signal_data}].full_name}
|
||||
----
|
||||
|
||||
[[trigger_data_hsignal]]
|
||||
===== Hsignal
|
||||
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
|
||||
| weechat | buffers_plugins_names | names of buffers (including plugins names)
|
||||
|
||||
| weechat | colors | color names
|
||||
|
||||
| weechat | commands | commands (weechat and plugins)
|
||||
|
||||
| weechat | config_files | configuration files
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
*** 'away_message' (string)
|
||||
*** 'away_time' (time)
|
||||
*** 'lag' (integer)
|
||||
*** 'lag_displayed' (integer)
|
||||
*** 'lag_check_time' (other)
|
||||
*** 'lag_next_check' (time)
|
||||
*** 'lag_last_refresh' (time)
|
||||
@@ -942,6 +943,7 @@
|
||||
*** 'scrolling' (integer)
|
||||
*** 'start_col' (integer)
|
||||
*** 'lines_after' (integer)
|
||||
*** 'text_search_start_line' (pointer, hdata: "line")
|
||||
*** 'prev_scroll' (pointer, hdata: "window_scroll")
|
||||
*** 'next_scroll' (pointer, hdata: "window_scroll")
|
||||
* 'window_tree': tree of windows
|
||||
|
||||
@@ -6,7 +6,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, "message_without_tags": message without the tags, "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel)
|
||||
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "tags": tags, "message_without_tags": message without the tags, "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | split an IRC message (to fit in 512 bytes) | "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
|
||||
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
// DO NOT EDIT BY HAND!
|
||||
//
|
||||
[[command_alias_alias]]
|
||||
[command]*`alias`* create an alias for a command::
|
||||
[command]*`alias`* list, add or remove command aliases::
|
||||
|
||||
----
|
||||
/alias [-completion <completion>] <alias> [<command> [;<command>...]]
|
||||
/alias list [<alias>]
|
||||
add <alias> [<command>[;<command>...]]
|
||||
addcompletion <completion> <alias> [<command>[;<command>...]]
|
||||
del <alias> [<alias>...]
|
||||
|
||||
completion: completion for alias (optional, by default completion is done with target command)
|
||||
note: you can use %%command to use completion of an existing command
|
||||
alias: name of alias (wildcard "*" is allowed)
|
||||
command: command name with arguments (many commands can be separated by semicolons)
|
||||
|
||||
Without argument, this command lists all defined alias.
|
||||
list: list aliases (without argument, this list is displayed)
|
||||
add: add an alias
|
||||
addcompletion: add an alias with a custom completion
|
||||
del: delete an alias
|
||||
completion: completion for alias: by default completion is done with target command
|
||||
note: you can use %%command to use completion of an existing command
|
||||
alias: name of alias
|
||||
command: command name with arguments (many commands can be separated by semicolons)
|
||||
|
||||
Note: in command, special variables are replaced:
|
||||
$n: argument 'n' (between 1 and 9)
|
||||
@@ -25,14 +30,12 @@ Note: in command, special variables are replaced:
|
||||
$var: where "var" is a local variable of buffer (see /buffer localvar)
|
||||
examples: $nick, $channel, $server, $plugin, $name
|
||||
|
||||
To remove an alias, use command /unalias.
|
||||
|
||||
Examples:
|
||||
alias /split to split window horizontally:
|
||||
/alias split /window splith
|
||||
/alias add split /window splith
|
||||
alias /hello to say "hello" on all channels but not on #weechat:
|
||||
/alias hello /allchan -exclude=#weechat msg * hello
|
||||
/alias add hello /allchan -exclude=#weechat msg * hello
|
||||
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
|
||||
/alias -completion %%sajoin forcejoin /quote forcejoin
|
||||
/alias addcompletion %%sajoin forcejoin /quote forcejoin
|
||||
----
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ Without argument, this command display ban list for current channel.
|
||||
-all|-auto|-open [-nojoin] [-switch]
|
||||
|
||||
server: server name, which can be:
|
||||
- internal server name (created by /server add, recommended usage)
|
||||
- internal server name (added by /server add, recommended usage)
|
||||
- hostname/port or IP/port, port is 6667 by default
|
||||
- URL with format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
|
||||
Note: for an address/IP/URL, a temporary server is created (NOT SAVED), see /help irc.look.temporary_servers
|
||||
Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /help irc.look.temporary_servers
|
||||
option: set option for server (for boolean option, value can be omitted)
|
||||
nooption: set boolean option to 'off' (for example: -nossl)
|
||||
-all: connect to all servers defined in configuration
|
||||
@@ -686,10 +686,10 @@ reason: reason
|
||||
|
||||
list: list servers (without argument, this list is displayed)
|
||||
listfull: list servers with detailed info for each server
|
||||
add: create a new server
|
||||
add: add a new server
|
||||
server: server name, for internal and display use
|
||||
hostname: name or IP address of server, with optional port (default: 6667), many addresses can be separated by a comma
|
||||
temp: create temporary server (not saved)
|
||||
temp: add a temporary server (not saved)
|
||||
option: set option for server (for boolean option, value can be omitted)
|
||||
nooption: set boolean option to 'off' (for example: -nossl)
|
||||
copy: duplicate a server
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
** type: color
|
||||
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline (default value: `default`)
|
||||
|
||||
* [[option_irc.color.topic_current]] *irc.color.topic_current*
|
||||
** description: `color for current channel topic (when joining a channel or using /topic)`
|
||||
** type: color
|
||||
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline (default value: `default`)
|
||||
|
||||
* [[option_irc.color.topic_new]] *irc.color.topic_new*
|
||||
** description: `color for new channel topic (when topic is changed)`
|
||||
** type: color
|
||||
@@ -358,7 +363,7 @@
|
||||
** values: on, off (default value: `on`)
|
||||
|
||||
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
|
||||
** description: `enable creation of temporary servers with command /connect`
|
||||
** description: `enable automatic addition of temporary servers with command /connect`
|
||||
** type: boolean
|
||||
** values: on, off (default value: `off`)
|
||||
|
||||
@@ -387,6 +392,11 @@
|
||||
** type: string
|
||||
** values: any string (default value: `"*!$ident@$host"`)
|
||||
|
||||
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
|
||||
** description: `decode/encode channel name inside messages using charset options; it is recommended to keep that off if you use only UTF-8 in channel names; you can enable this option if you are using an exotic charset like ISO in channel names`
|
||||
** type: boolean
|
||||
** values: on, off (default value: `off`)
|
||||
|
||||
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
|
||||
** description: `when off, colors codes are ignored in incoming messages`
|
||||
** type: boolean
|
||||
@@ -543,7 +553,7 @@
|
||||
** values: any string (default value: `""`)
|
||||
|
||||
* [[option_irc.server_default.nicks]] *irc.server_default.nicks*
|
||||
** description: `nicknames to use on server (separated by comma)`
|
||||
** description: `nicknames to use on server (separated by comma) (note: content is evaluated, see /help eval)`
|
||||
** type: string
|
||||
** values: any string (default value: `""`)
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
** values: any string (default value: `""`)
|
||||
|
||||
* [[option_logger.file.path]] *logger.file.path*
|
||||
** description: `path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime)`
|
||||
** description: `path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime) (note: content is evaluated, see /help eval)`
|
||||
** type: string
|
||||
** values: any string (default value: `"%h/logs/"`)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@
|
||||
** type: integer
|
||||
** values: -1 .. 525600 (default value: `1440`)
|
||||
|
||||
* [[option_script.scripts.dir]] *script.scripts.dir*
|
||||
** description: `local cache directory for scripts`
|
||||
** type: string
|
||||
** values: any string (default value: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.hold]] *script.scripts.hold*
|
||||
** description: `scripts to "hold": comma-separated list of scripts which will never been upgraded and can not be removed, for example: "buffers.pl,iset.pl"`
|
||||
** type: string
|
||||
** values: any string (default value: `""`)
|
||||
|
||||
* [[option_script.scripts.path]] *script.scripts.path*
|
||||
** description: `local cache directory for scripts; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** type: string
|
||||
** values: any string (default value: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.url]] *script.scripts.url*
|
||||
** description: `URL for file with list of scripts; by default HTTPS is forced, see option script.scripts.url_force_https`
|
||||
** type: string
|
||||
|
||||
@@ -276,19 +276,23 @@ To force a string comparison, add double quotes around each expression, for exam
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
1. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
2. a string with chars to hide (format: "hide:char,string")
|
||||
3. a color (format: "color:xxx")
|
||||
4. an info (format: "info:name,arguments", arguments are optional)
|
||||
5. an environment variable (format: "env:XXX")
|
||||
6. an option (format: "file.section.option")
|
||||
7. a local variable in buffer
|
||||
8. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a color (format: "color:xxx")
|
||||
5. an info (format: "info:name,arguments", arguments are optional)
|
||||
6. current date/time (format: "date" or "date:format")
|
||||
7. an environment variable (format: "env:XXX")
|
||||
8. an option (format: "file.section.option")
|
||||
9. a local variable in buffer
|
||||
10. 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, 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)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
|
||||
Examples (simple strings):
|
||||
@@ -301,6 +305,7 @@ Examples (simple strings):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
|
||||
Examples (conditions):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
@@ -413,12 +418,14 @@ 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
|
||||
@@ -674,12 +681,12 @@ password: password (optional)
|
||||
value: new value for option
|
||||
|
||||
Examples:
|
||||
create a http proxy, running on local host, port 8888:
|
||||
add a http proxy, running on local host, port 8888:
|
||||
/proxy add local http 127.0.0.1 8888
|
||||
create a http proxy using IPv6 protocol:
|
||||
add a http proxy using IPv6 protocol:
|
||||
/proxy add local http ::1 8888
|
||||
/proxy set local ipv6 on
|
||||
create a socks5 proxy with username/password:
|
||||
add a socks5 proxy with username/password:
|
||||
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
|
||||
delete a proxy:
|
||||
/proxy del myproxy
|
||||
@@ -757,12 +764,10 @@ When a passphrase is used (data encrypted), it is asked by WeeChat on startup.
|
||||
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade).
|
||||
|
||||
Secured data with format ${sec.data.xxx} can be used in:
|
||||
- command /eval
|
||||
- command line argument "--run-command"
|
||||
- options weechat.startup.command_{before|after}_plugins
|
||||
- proxy options: username, password
|
||||
- irc server options: autojoin, command, password, sasl_{username|password}, username, realname
|
||||
- option relay.network.password
|
||||
- command /eval.
|
||||
- other options that may contain a password or sensitive data (for example proxy, irc server and relay); see /help on the options to check if they are evaluated.
|
||||
|
||||
Examples:
|
||||
set a passphrase:
|
||||
@@ -774,7 +779,7 @@ Examples:
|
||||
/secure set oftc mypassword
|
||||
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
|
||||
alias to ghost the nick "mynick":
|
||||
/alias ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
/alias add ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
----
|
||||
|
||||
[[command_weechat_set]]
|
||||
@@ -836,8 +841,9 @@ Examples:
|
||||
[command]*`upgrade`* upgrade WeeChat without disconnecting from servers::
|
||||
|
||||
----
|
||||
/upgrade [<path_to_binary>|-quit]
|
||||
/upgrade [-yes] [<path_to_binary>|-quit]
|
||||
|
||||
-yes: required if option weechat.look.confirm_upgrade is enabled
|
||||
path_to_binary: path to WeeChat binary (default is current binary)
|
||||
-dummy: do nothing (option used to prevent accidental completion with "-quit")
|
||||
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
|
||||
@@ -927,7 +933,7 @@ Examples:
|
||||
scroll_horiz [-window <number>] [+/-]<value>[%]
|
||||
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
|
||||
swap [-window <number>] [up|down|left|right]
|
||||
zoom[-window <number>]
|
||||
zoom [-window <number>]
|
||||
bare [<delay>]
|
||||
|
||||
list: list opened windows (without argument, this list is displayed)
|
||||
|
||||
@@ -542,6 +542,11 @@
|
||||
** type: boolean
|
||||
** values: on, off (default value: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_upgrade]] *weechat.look.confirm_upgrade*
|
||||
** description: `if set, /upgrade command must be confirmed with extra argument "-yes" (see /help upgrade)`
|
||||
** type: boolean
|
||||
** values: on, off (default value: `off`)
|
||||
|
||||
* [[option_weechat.look.day_change]] *weechat.look.day_change*
|
||||
** description: `display special message when day changes`
|
||||
** type: boolean
|
||||
@@ -712,6 +717,11 @@
|
||||
** type: boolean
|
||||
** values: on, off (default value: `on`)
|
||||
|
||||
* [[option_weechat.look.key_grab_delay]] *weechat.look.key_grab_delay*
|
||||
** description: `default delay (in milliseconds) to grab a key (using default key alt-k); this delay can be overridden in the /input command (see /help input)`
|
||||
** type: integer
|
||||
** values: 1 .. 10000 (default value: `800`)
|
||||
|
||||
* [[option_weechat.look.mouse]] *weechat.look.mouse*
|
||||
** description: `enable mouse support`
|
||||
** type: boolean
|
||||
|
||||
@@ -83,12 +83,12 @@
|
||||
** values: on, off (default value: `on`)
|
||||
|
||||
* [[option_xfer.file.download_path]] *xfer.file.download_path*
|
||||
** description: `path for writing incoming files ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
|
||||
** description: `path for writing incoming files: "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** type: string
|
||||
** values: any string (default value: `"%h/xfer"`)
|
||||
|
||||
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
|
||||
** description: `path for reading files when sending (when no path is specified by user) ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
|
||||
** description: `path for reading files when sending (when no path is specified by user): "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** type: string
|
||||
** values: any string (default value: `"~"`)
|
||||
|
||||
|
||||
@@ -21,23 +21,36 @@ light, designed for many operating systems.
|
||||
|
||||
This manual documents WeeChat internals:
|
||||
|
||||
* repository (sources, doc, ...)
|
||||
* repositories
|
||||
* coding rules
|
||||
* core internals
|
||||
* plugin internals
|
||||
* how to contribute to WeeChat.
|
||||
|
||||
[[repository]]
|
||||
== Repository
|
||||
[[repositories]]
|
||||
== Repositories
|
||||
|
||||
WeeChat has two main repositories:
|
||||
WeeChat repositories are on GitHub organization "weechat":
|
||||
https://github.com/weechat
|
||||
|
||||
* core repository: it contains source code and documentation,
|
||||
URL is: https://github.com/weechat/weechat
|
||||
* scripts: the 'official' scripts submitted on weechat.org,
|
||||
URL is: https://github.com/weechat/scripts
|
||||
List of repositories:
|
||||
|
||||
This manual documents only core repository.
|
||||
weechat::
|
||||
core repository with source code and documentation
|
||||
|
||||
scripts::
|
||||
the 'official' scripts submitted on weechat.org
|
||||
|
||||
weechat.org::
|
||||
source of WeeChat web site: https://weechat.org/
|
||||
|
||||
weercd::
|
||||
IRC testing server
|
||||
|
||||
qweechat::
|
||||
Qt remote GUI for WeeChat.
|
||||
|
||||
This manual documents only 'weechat' repository.
|
||||
|
||||
[[overview]]
|
||||
=== Overview
|
||||
@@ -57,17 +70,17 @@ The main WeeChat directories are:
|
||||
| charset/ | Charset plugin
|
||||
| exec/ | Exec plugin
|
||||
| fifo/ | Fifo plugin (FIFO pipe used to remotely send commands to WeeChat)
|
||||
| irc/ | IRC (Internet Relay Chat) plugin
|
||||
| logger/ | Logger plugin (write messages displayed to files)
|
||||
| relay/ | Relay plugin (irc proxy + relay for remote interfaces)
|
||||
| script/ | Scripts manager
|
||||
| python/ | Python scripting API
|
||||
| perl/ | Perl scripting API
|
||||
| ruby/ | Ruby scripting API
|
||||
| lua/ | Lua scripting API
|
||||
| tcl/ | Tcl scripting API
|
||||
| guile/ | Guile (scheme) scripting API
|
||||
| irc/ | IRC (Internet Relay Chat) plugin
|
||||
| javascript/ | Javascript scripting API
|
||||
| logger/ | Logger plugin (write messages displayed to files)
|
||||
| lua/ | Lua scripting API
|
||||
| perl/ | Perl scripting API
|
||||
| python/ | Python scripting API
|
||||
| relay/ | Relay plugin (irc proxy + relay for remote interfaces)
|
||||
| ruby/ | Ruby scripting API
|
||||
| script/ | Scripts manager
|
||||
| tcl/ | Tcl scripting API
|
||||
| trigger/ | Trigger plugin
|
||||
| xfer/ | Xfer plugin (IRC DCC file/chat)
|
||||
| tests/ | Tests
|
||||
@@ -93,7 +106,6 @@ WeeChat "core" is located in following directories:
|
||||
|===
|
||||
| Path/file | Description
|
||||
| core/ | Core functions: entry point, internal structures
|
||||
| weechat.c | Main functions: command line options, startup
|
||||
| wee-arraylist.c | Array lists
|
||||
| wee-backtrace.c | Display a backtrace after a crash
|
||||
| wee-command.c | WeeChat core commands
|
||||
@@ -119,6 +131,7 @@ WeeChat "core" is located in following directories:
|
||||
| wee-utf8.c | UTF-8 functions
|
||||
| wee-util.c | Some other functions
|
||||
| wee-version.c | Functions for WeeChat version
|
||||
| weechat.c | Main functions: command line options, startup
|
||||
| gui/ | Functions for buffers, windows, ... (used by all interfaces)
|
||||
| gui-bar-item.c | Bar items
|
||||
| gui-bar-window.c | Bar windows
|
||||
@@ -167,6 +180,8 @@ WeeChat "core" is located in following directories:
|
||||
| weechat-plugin.h | Header designed to be distributed with WeeChat plugins, in order to compile them
|
||||
| alias/ | Alias plugin
|
||||
| alias.c | Main alias functions
|
||||
| alias-command.c | Alias commands
|
||||
| alias-completion.c | Alias completions
|
||||
| alias-config.c | Alias config options (file alias.conf)
|
||||
| alias-info.c | Alias info/infolists/hdata
|
||||
| aspell/ | Aspell plugin
|
||||
@@ -296,20 +311,21 @@ WeeChat "core" is located in following directories:
|
||||
|
||||
[width="100%",cols="1v,5",options="header"]
|
||||
|===
|
||||
| Path/file | Description
|
||||
| tests/ | Root of tests
|
||||
| tests.cpp | Program used to run tests
|
||||
| unit/ | Root of unit tests
|
||||
| core/ | Root of unit tests for core
|
||||
| test-eval.cpp | Tests: evaluation of expressions
|
||||
| test-hashtble.cpp | Tests: hashtables
|
||||
| test-hdata.cpp | Tests: hdata
|
||||
| test-infolist.cpp | Tests: infolists
|
||||
| test-list.cpp | Tests: lists
|
||||
| test-string.cpp | Tests: strings
|
||||
| test-url.cpp | Tests: URLs
|
||||
| test-utf8.cpp | Tests: UTF-8
|
||||
| test-util.cpp | Tests: utility functions
|
||||
| Path/file | Description
|
||||
| tests/ | Root of tests
|
||||
| tests.cpp | Program used to run tests
|
||||
| unit/ | Root of unit tests
|
||||
| core/ | Root of unit tests for core
|
||||
| test-arraylist.cpp | Tests: arraylists
|
||||
| test-eval.cpp | Tests: evaluation of expressions
|
||||
| test-hashtble.cpp | Tests: hashtables
|
||||
| test-hdata.cpp | Tests: hdata
|
||||
| test-infolist.cpp | Tests: infolists
|
||||
| test-list.cpp | Tests: lists
|
||||
| test-string.cpp | Tests: strings
|
||||
| test-url.cpp | Tests: URLs
|
||||
| test-utf8.cpp | Tests: UTF-8
|
||||
| test-util.cpp | Tests: utility functions
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -325,16 +341,16 @@ Documentation files:
|
||||
| asciidoc.css | Asciidoc style
|
||||
| docgen.py | Python script to build files in 'autogen/' directory (see below)
|
||||
| XX/ | Documentation for language XX (languages: en, fr, de, it, ...)
|
||||
| cmdline_options.XX.asciidoc | Command-line options (file included in man page and user's guide)
|
||||
| weechat.1.XX.asciidoc | Man page (`man weechat`)
|
||||
| weechat_quickstart.XX.asciidoc | Quickstart guide
|
||||
| weechat_user.XX.asciidoc | User's guide
|
||||
| weechat_dev.XX.asciidoc | Developer's guide (this document)
|
||||
| weechat_faq.XX.asciidoc | FAQ
|
||||
| weechat_plugin_api.XX.asciidoc | Plugin API reference
|
||||
| weechat_quickstart.XX.asciidoc | Quickstart guide
|
||||
| weechat_relay_protocol.XX.asciidoc | Relay protocol (for remote interfaces)
|
||||
| weechat_scripting.XX.asciidoc | Scripting guide
|
||||
| weechat_tester.XX.asciidoc | Tester's guide
|
||||
| weechat_dev.XX.asciidoc | Developer's guide (this document)
|
||||
| weechat_relay_protocol.XX.asciidoc | Relay protocol (for remote interfaces)
|
||||
| cmdline_options.XX.asciidoc | Command-line options (file included in man page and user's guide)
|
||||
| weechat_user.XX.asciidoc | User's guide
|
||||
| autogen/ | Files auto-built with script docgen.py
|
||||
| user/ | Files auto-built for user's guide (do *NEVER* update manually!)
|
||||
| plugin_api/ | Files auto-built for plugin API (do *NEVER* update manually!)
|
||||
@@ -576,12 +592,13 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
|
||||
|
||||
[source,lisp]
|
||||
----
|
||||
(add-hook 'c-mode-common-hook '(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4
|
||||
c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
(add-hook 'c-mode-common-hook
|
||||
'(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4)
|
||||
(c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
----
|
||||
|
||||
[[coding_python_style]]
|
||||
@@ -950,9 +967,9 @@ server->hook_timer_sasl = weechat_hook_timer (timeout * 1000,
|
||||
|
||||
Git repository is at this URL: https://github.com/weechat/weechat
|
||||
|
||||
Any patch for bug or new feature must be done on master branch, preferred way is
|
||||
a GitHub pull request. A patch can also be sent by e-mail (made with `git diff`
|
||||
or `git format-patch`).
|
||||
Any patch for bug or new feature must be done on master branch, preferred way
|
||||
is a GitHub pull request. A patch can also be sent by e-mail
|
||||
(made with `git diff` or `git format-patch`).
|
||||
|
||||
Format of commit message is the following (to close a GitHub issue):
|
||||
|
||||
@@ -1036,7 +1053,7 @@ Then you can load this script in your WeeChat, and setup path to your '/doc' dir
|
||||
Then create this alias to build files:
|
||||
|
||||
----
|
||||
/alias doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
/alias add doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
----
|
||||
|
||||
And use command `/doc` to build all files, for all languages.
|
||||
|
||||
@@ -108,6 +108,18 @@ UTF-8 locale is recommended for WeeChat. If you're using ISO or other
|
||||
locale, please check that *all* your settings (terminal, screen, ..) are ISO
|
||||
and *not* UTF-8.
|
||||
|
||||
[[unicode_chars]]
|
||||
=== Some unicode chars are displayed in terminal but not in WeeChat, why?
|
||||
|
||||
This may be caused by a libc bug in function 'wcwidth', which should be fixed
|
||||
in glibc 2.22 (maybe not yet available in your distribution).
|
||||
|
||||
There is a workaround to use the fixed 'wcwidth' function:
|
||||
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
|
||||
|
||||
See this bug report for more information:
|
||||
https://github.com/weechat/weechat/issues/79
|
||||
|
||||
[[bars_background]]
|
||||
=== Bars like title and status are not filled, background color stops after text, why?
|
||||
|
||||
@@ -536,7 +548,7 @@ Some servers like 'twitch' require oauth to connect.
|
||||
|
||||
The oauth is simply a password with the value "oauth:XXXX".
|
||||
|
||||
You can create such server and connect with following commands (replace name
|
||||
You can add such server and connect with following commands (replace name
|
||||
and address by appropriate values):
|
||||
|
||||
----
|
||||
|
||||
@@ -757,13 +757,15 @@ This function is not available in scripting API.
|
||||
|
||||
==== strcasestr
|
||||
|
||||
_Updated in 1.3._
|
||||
|
||||
Locale and case independent string search.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_strcasestr (const char *string, const char *search);
|
||||
const char *weechat_strcasestr (const char *string, const char *search);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
@@ -774,12 +776,13 @@ Arguments:
|
||||
Return value:
|
||||
|
||||
* pointer to string found, or NULL if not found
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
|
||||
const char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -917,6 +920,64 @@ free (str);
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== string_eval_path_home
|
||||
|
||||
_WeeChat ≥ 1.3._
|
||||
|
||||
Evaluate a path in 3 steps:
|
||||
|
||||
. replace leading `%h` by WeeChat home directory,
|
||||
. replace leading `~` by user home directory (call to
|
||||
<<_string_expand_home,weechat_string_expand_home>>),
|
||||
. evaluate variables
|
||||
(see <<_string_eval_expression,weechat_string_eval_expression>>).
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_string_eval_path_home (const char *path,
|
||||
struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* 'path': path
|
||||
* 'pointers': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'extra_vars': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'options': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
|
||||
Return value:
|
||||
|
||||
* evaluated path (must be freed by calling "free" after use)
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = weechat_string_expand_home ("%h/test");
|
||||
/* result: "/home/xxx/.weechat/test" */
|
||||
/* ... */
|
||||
free (str);
|
||||
----
|
||||
|
||||
Script (Python):
|
||||
|
||||
[source,python]
|
||||
----
|
||||
# prototype
|
||||
path = weechat.string_eval_path_home(path, pointers, extra_vars, options)
|
||||
|
||||
# example
|
||||
path = weechat.string_eval_path_home("%h/test", "", "", "")
|
||||
# path == "/home/xxx/.weechat/test"
|
||||
----
|
||||
|
||||
==== string_remove_quotes
|
||||
|
||||
Remove quotes at beginning and end of string (ignore spaces if there are before
|
||||
@@ -1844,7 +1905,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
|
||||
|
||||
==== string_eval_expression
|
||||
|
||||
_WeeChat ≥ 0.4.0, updated in 0.4.2 and 1.1._
|
||||
_WeeChat ≥ 0.4.0, updated in 0.4.2, 1.0, 1.1, 1.2 and 1.3._
|
||||
|
||||
Evaluate an expression and return result as a string.
|
||||
Special variables with format `${variable}` are expanded (see table below).
|
||||
@@ -1896,13 +1957,20 @@ Return value:
|
||||
List of variables expanded in expression (by order of priority, from first
|
||||
expanded to last):
|
||||
|
||||
[width="100%",cols="2,8,3,3",options="header"]
|
||||
[width="100%",cols="2,8,4,4",options="header"]
|
||||
|===
|
||||
| Format | Description | Examples | Results
|
||||
|
||||
| `${name}` | Variable `name` from hashtable 'extra_vars' |
|
||||
`${name}` | `value`
|
||||
|
||||
| `${eval:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
String to evaluate |
|
||||
`${eval:${date:${weechat.look.buffer_time_format}}}` |
|
||||
`19:02:45` (with colors if there are color codes in the option
|
||||
weechat.look.buffer_time_format)
|
||||
|
||||
| `${esc:xxx}` +
|
||||
`${\xxx}` | String with escaped chars |
|
||||
`${esc:prefix\tmessage}` +
|
||||
@@ -1938,6 +2006,16 @@ expanded to last):
|
||||
`1.0` +
|
||||
`lightblue`
|
||||
|
||||
| `${date}` +
|
||||
`${date:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
Current date/time, with custom format (see `man strftime`),
|
||||
default format is `%F %T` |
|
||||
`${date}` +
|
||||
`${date:%H:%M:%S}` |
|
||||
`2015-06-30 19:02:45` +
|
||||
`19:02:45`
|
||||
|
||||
| `${env:NAME}` +
|
||||
(_WeeChat ≥ 1.2_) |
|
||||
Value of the environment variable `NAME` |
|
||||
@@ -2138,13 +2216,16 @@ This function is not available in scripting API.
|
||||
|
||||
==== utf8_prev_char
|
||||
|
||||
_Updated in 1.3._
|
||||
|
||||
Return pointer to previous UTF-8 char in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_prev_char (const char *string_start, const char *string);
|
||||
const char *weechat_utf8_prev_char (const char *string_start,
|
||||
const char *string);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
@@ -2156,12 +2237,13 @@ Arguments:
|
||||
Return value:
|
||||
|
||||
* pointer to previous UTF-8 char, NULL if not found (start of string reached)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
const char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2169,13 +2251,15 @@ This function is not available in scripting API.
|
||||
|
||||
==== utf8_next_char
|
||||
|
||||
_Updated in 1.3._
|
||||
|
||||
Return pointer to next UTF-8 char in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_next_char (const char *string);
|
||||
const char *weechat_utf8_next_char (const char *string);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
@@ -2185,12 +2269,13 @@ Arguments:
|
||||
Return value:
|
||||
|
||||
* pointer to next UTF-8 char, NULL if not found (end of string reached)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *next_char = weechat_utf8_next_char (string);
|
||||
const char *next_char = weechat_utf8_next_char (string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2441,13 +2526,15 @@ This function is not available in scripting API.
|
||||
|
||||
==== utf8_add_offset
|
||||
|
||||
_Updated in 1.3._
|
||||
|
||||
Move forward N chars in an UTF-8 string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
const char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
@@ -2458,13 +2545,14 @@ Arguments:
|
||||
Return value:
|
||||
|
||||
* pointer to string, N chars after (NULL if it's not reachable)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = "chêne";
|
||||
char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
const char *str = "chêne";
|
||||
const char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2872,21 +2960,26 @@ This function is not available in scripting API.
|
||||
|
||||
==== util_get_time_string
|
||||
|
||||
_WeeChat ≥ 0.3.2._
|
||||
_WeeChat ≥ 0.3.2, updated in 1.3._
|
||||
|
||||
Get date/time as a string built with "strftime".
|
||||
Get date/time as a string built with "strftime" and the format defined in
|
||||
option 'weechat.look.time_format'.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_util_get_time_string (const time_t *date);
|
||||
const char *weechat_util_get_time_string (const time_t *date);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* 'date': pointer to date
|
||||
|
||||
Return value:
|
||||
|
||||
* pointer to a string with date/time
|
||||
|
||||
C example:
|
||||
|
||||
[source,C]
|
||||
@@ -7135,6 +7228,8 @@ hook = weechat.hook_timer(20 * 1000, 0, 0, "my_timer_cb", "")
|
||||
|
||||
==== hook_fd
|
||||
|
||||
_Updated in 1.3._
|
||||
|
||||
Hook a file descriptor (file or socket).
|
||||
|
||||
Prototype:
|
||||
@@ -7156,6 +7251,7 @@ Arguments:
|
||||
* 'flag_read': 1 = catch read event, 0 = ignore
|
||||
* 'flag_write': 1 = catch write event, 0 = ignore
|
||||
* 'flag_exception': 1 = catch exception event, 0 = ignore
|
||||
(_WeeChat ≥ 1.3_: this argument is ignored and not used any more)
|
||||
* 'callback': function called a selected event occurs for file (or socket),
|
||||
arguments and return value:
|
||||
** 'void *data': pointer
|
||||
@@ -8388,6 +8484,11 @@ List of signals sent by WeeChat and plugins:
|
||||
String: arguments for /quit |
|
||||
Command `/quit` issued by user
|
||||
|
||||
| weechat | signal_sighup +
|
||||
_(WeeChat ≥ 1.3)_ |
|
||||
- |
|
||||
Signal SIGHUP received
|
||||
|
||||
| weechat | signal_sigquit +
|
||||
_(WeeChat ≥ 1.2)_ |
|
||||
- |
|
||||
@@ -12839,23 +12940,36 @@ hashtable_in = weechat_hashtable_new (8,
|
||||
NULL);
|
||||
if (hashtable_in)
|
||||
{
|
||||
weechat_hashtable_set (hashtable_in, "message",
|
||||
":nick!user@host PRIVMSG #weechat :message here");
|
||||
weechat_hashtable_set (
|
||||
hashtable_in,
|
||||
"message",
|
||||
"@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!");
|
||||
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
|
||||
hashtable_in);
|
||||
/*
|
||||
* now hashtable_out has following keys/values:
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments": "#weechat :message here"
|
||||
* "tags" : "time=2015-06-27T16:40:35.000Z"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments" : "#weechat :hello!"
|
||||
* "text" : "hello!"
|
||||
* "pos_command" : "47"
|
||||
* "pos_arguments" : "55"
|
||||
* "pos_channel" : "55"
|
||||
* "pos_text" : "65"
|
||||
*/
|
||||
weechat_hashtable_free (hashtable_in);
|
||||
weechat_hashtable_free (hashtable_out);
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
See the 'WeeChat Scripting Guide' for more info about "irc_message_parse"
|
||||
output.
|
||||
|
||||
Script (Python):
|
||||
|
||||
[source,python]
|
||||
|
||||
@@ -92,8 +92,8 @@ All network protocols like IRC are provided in separate plugins.
|
||||
Use the `/plugin` command to list loaded plugins, you should see "irc" and
|
||||
other plugins in the list.
|
||||
|
||||
[[create_irc_server]]
|
||||
== Create an IRC server
|
||||
[[add_irc_server]]
|
||||
== Add an IRC server
|
||||
|
||||
You can add an IRC server with `/server` command, for example:
|
||||
|
||||
|
||||
@@ -392,7 +392,7 @@ List of functions in script API:
|
||||
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
|
||||
strlen_screen, string_match, string_has_highlight, string_has_highlight_regex,
|
||||
string_mask_to_regex, string_remove_color, string_is_command_char,
|
||||
string_input_for_buffer, string_eval_expression
|
||||
string_input_for_buffer, string_eval_expression, string_eval_path_home
|
||||
| directories |
|
||||
mkdir_home, mkdir, mkdir_parents
|
||||
| sorted lists |
|
||||
@@ -899,14 +899,83 @@ _New in version 0.3.4._
|
||||
|
||||
You can parse an IRC message with info_hashtable called "irc_message_parse".
|
||||
|
||||
The result is a hashtable with following keys
|
||||
(the example values are built with this message:
|
||||
`@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!`):
|
||||
|
||||
[width="100%",cols="1,^2,10,8",options="header"]
|
||||
|===
|
||||
| Key | WeeChat version | Description | Example
|
||||
|
||||
| tags | ≥ 0.4.0 |
|
||||
The tags in message (can be empty) |
|
||||
`time=2015-06-27T16:40:35.000Z`
|
||||
|
||||
| message_without_tags | ≥ 0.4.0 |
|
||||
The message without the tags (the same as message if there are no tags) |
|
||||
`:nick!user@host PRIVMSG #weechat :hello!`
|
||||
|
||||
| nick | ≥ 0.3.4 |
|
||||
The origin nick |
|
||||
`nick`
|
||||
|
||||
| host | ≥ 0.3.4 |
|
||||
The origin host (includes the nick) |
|
||||
`nick!user@host`
|
||||
|
||||
| command | ≥ 0.3.4 |
|
||||
The command ('PRIVMSG', 'NOTICE', ...) |
|
||||
`PRIVMSG`
|
||||
|
||||
| channel | ≥ 0.3.4 |
|
||||
The target channel |
|
||||
`#weechat`
|
||||
|
||||
| arguments | ≥ 0.3.4 |
|
||||
The command arguments (includes the channel) |
|
||||
`#weechat :hello!`
|
||||
|
||||
| text | ≥ 1.3 |
|
||||
The text (for example user message) |
|
||||
`hello!`
|
||||
|
||||
| pos_command | ≥ 1.3 |
|
||||
The index of 'command' in message ("-1" if 'command' was not found) |
|
||||
`47`
|
||||
|
||||
| pos_arguments | ≥ 1.3 |
|
||||
The index of 'arguments' in message ("-1" if 'arguments' was not found) |
|
||||
`55`
|
||||
|
||||
| pos_channel | ≥ 1.3 |
|
||||
The index of 'channel' in message ("-1" if 'channel' was not found) |
|
||||
`55`
|
||||
|
||||
| pos_text | ≥ 1.3 |
|
||||
The index of 'text' in message ("-1" if 'text' was not found) |
|
||||
`65`
|
||||
|===
|
||||
|
||||
[source,python]
|
||||
----
|
||||
dict = weechat.info_get_hashtable("irc_message_parse",
|
||||
{"message": ":nick!user@host PRIVMSG #weechat :message here"})
|
||||
weechat.prnt("", "dict: %s" % dict)
|
||||
dict = weechat.info_get_hashtable(
|
||||
"irc_message_parse",
|
||||
{"message": "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!"})
|
||||
|
||||
# output:
|
||||
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
|
||||
# dict == {
|
||||
# "tags": "time=2015-06-27T16:40:35.000Z",
|
||||
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
|
||||
# "nick": "nick",
|
||||
# "host": "nick!user@host",
|
||||
# "command": "PRIVMSG",
|
||||
# "channel": "#weechat",
|
||||
# "arguments": "#weechat :hello!",
|
||||
# "text": "hello!",
|
||||
# "pos_command": "47",
|
||||
# "pos_arguments": "55",
|
||||
# "pos_channel": "55",
|
||||
# "pos_text": "65",
|
||||
# }
|
||||
----
|
||||
|
||||
[[infos]]
|
||||
|
||||
@@ -87,7 +87,7 @@ To build sources, cmake is recommended:
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
@@ -33,6 +33,7 @@ Main features are:
|
||||
http://tools.ietf.org/html/rfc2811[2811],
|
||||
http://tools.ietf.org/html/rfc2812[2812] and
|
||||
http://tools.ietf.org/html/rfc2813[2813]
|
||||
* IRC proxy and relay for remote interfaces
|
||||
* multi-platform (GNU/Linux, *BSD, MacOS X, Windows and other)
|
||||
* 100% GPL, free software
|
||||
|
||||
@@ -64,6 +65,7 @@ Binary packages are available for many distributions, including:
|
||||
* Arch Linux: `pacman -S weechat`
|
||||
* Fedora Core: `yum install weechat`
|
||||
* Sourcemage: `cast weechat`
|
||||
* Cygwin (Windows): select WeeChat packages in setup.exe
|
||||
|
||||
Some additional packages may be useful, like weechat-plugins.
|
||||
|
||||
@@ -186,7 +188,7 @@ $ make
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=/path/to/directory
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
@@ -203,7 +205,7 @@ List of commonly used options:
|
||||
The type of build: `Debug` (or `RelWithDebInfo`) is recommended if you are
|
||||
running development version of WeeChat.
|
||||
|
||||
| PREFIX | directory | /usr/local |
|
||||
| CMAKE_INSTALL_PREFIX | directory | /usr/local |
|
||||
The directory where WeeChat will be installed.
|
||||
|
||||
| WEECHAT_HOME | directory | ~/.weechat |
|
||||
@@ -1095,7 +1097,7 @@ The notify level for a buffer can be set with command `/buffer`:
|
||||
| key[Backsp.] .2+| Delete previous char in command line .2+| `/input delete_previous_char`
|
||||
| key[ctrl-h]
|
||||
| key[ctrl-k] | Delete from cursor until end of command line (deleted string is copied to clipboard) | `/input delete_end_of_line`
|
||||
| key[ctrl-r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>) | `/input search_text`
|
||||
| key[ctrl-r] | Search for text in buffer history (see <<key_bindings_search_context,keys for search context>>) | `/input search_text_here`
|
||||
| key[ctrl-t] | Transpose chars | `/input transpose_chars`
|
||||
| key[ctrl-u] | Delete from cursor until beginning of command line (deleted string is copied to clipboard) | `/input delete_beginning_of_line`
|
||||
| key[ctrl-w] | Delete previous word of command line (deleted string is copied to clipboard) | `/input delete_previous_word`
|
||||
@@ -1156,7 +1158,7 @@ The notify level for a buffer can be set with command `/buffer`:
|
||||
| key[alt-j,alt-r] | Switch to IRC raw buffer | `/server raw`
|
||||
| key[alt-j,alt-s] | Switch to IRC server buffer | `/server jump`
|
||||
| key[alt-0...9] | Switch to buffer by number (0 = 10) | `/buffer *N`
|
||||
| key[alt-j,01...99] | Switch to buffer by number | `/buffer NN`
|
||||
| key[alt-j,01...99] | Switch to buffer by number | `/buffer *NN`
|
||||
| key[alt-l] | Toggle bare display on/off | `/window bare`
|
||||
| key[alt-m] | Toggle mouse | `/mouse toggle`
|
||||
| key[alt-n] | Scroll to next highlight | `/window scroll_next_highlight`
|
||||
@@ -1190,9 +1192,10 @@ text in buffer).
|
||||
| key[Tab] | Switch search in: messages (default), prefixes, prefixes + messages | `/input search_switch_where`
|
||||
| key[↑] | Search previous line | `/input search_previous`
|
||||
| key[↓] | Search next line | `/input search_next`
|
||||
| key[Enter] .3+| Stop search .3+| `/input search_stop`
|
||||
| key[Enter] .3+| Stop search at current position .3+| `/input search_stop_here`
|
||||
| key[ctrl-j]
|
||||
| key[ctrl-m]
|
||||
| key[ctrl-q] | Stop search and scroll to bottom of buffer | `/input search_stop`
|
||||
|===
|
||||
|
||||
[[key_bindings_cursor_context]]
|
||||
@@ -2182,7 +2185,7 @@ $ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
|
||||
|
||||
Note: it is possible to concatenate many certificates in file CAs.pem.
|
||||
|
||||
* In WeeChat, with "oftc" server already created:
|
||||
* In WeeChat, with "oftc" server already added:
|
||||
|
||||
----
|
||||
/connect oftc
|
||||
@@ -2199,7 +2202,7 @@ $ cd ~/.weechat/ssl
|
||||
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
|
||||
----
|
||||
|
||||
* In WeeChat, with "oftc" server already created:
|
||||
* In WeeChat, with "oftc" server already added:
|
||||
|
||||
----
|
||||
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
|
||||
@@ -2289,14 +2292,14 @@ In first place, install TOR. For Debian (and derived):
|
||||
$ sudo apt-get install tor
|
||||
----
|
||||
|
||||
In WeeChat you need to create a socks5 proxy for TOR service (hostname/IP and
|
||||
In WeeChat you need to add a socks5 proxy for TOR service (hostname/IP and
|
||||
port depend on your TOR configuration):
|
||||
|
||||
----
|
||||
/proxy add tor socks5 127.0.0.1 9050
|
||||
----
|
||||
|
||||
Now, create a new server, for example:
|
||||
Now, add a new server, for example:
|
||||
|
||||
----
|
||||
/server add freenode-tor p4fsi4ockecnea7l.onion
|
||||
@@ -3235,8 +3238,20 @@ is added in hashtable:
|
||||
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...)
|
||||
| channel | string | IRC channel
|
||||
| arguments | string | Arguments of command (includes value of 'channel')
|
||||
| text | string | Text (for example user message)
|
||||
| pos_command | string | The index of 'command' in message ("-1" if 'command' was not found)
|
||||
| pos_arguments | string | The index of 'arguments' in message ("-1" if 'arguments' was not found)
|
||||
| pos_channel | string | The index of 'channel' in message ("-1" if 'channel' was not found)
|
||||
| pos_text | string | The index of 'text' in message ("-1" if 'text' was not found)
|
||||
|===
|
||||
|
||||
When the data is a pointer, the variable `tg_signal_data` can be used like this
|
||||
to read a hdata property (in this example this is a pointer on a buffer):
|
||||
|
||||
----
|
||||
${buffer[${tg_signal_data}].full_name}
|
||||
----
|
||||
|
||||
[[trigger_data_hsignal]]
|
||||
===== Hsignal
|
||||
|
||||
|
||||
@@ -105,8 +105,9 @@ Todos los protocolos de red como IRC, provienen en plugins separados.
|
||||
Use el comando `/plugin` para ver una lista de los plugins cargados,
|
||||
seguramente vera irc y otros.
|
||||
|
||||
[[create_irc_server]]
|
||||
== Crear un servidor IRC
|
||||
// TRANSLATION MISSING
|
||||
[[add_irc_server]]
|
||||
== Add an IRC server
|
||||
|
||||
// TRANSLATION MISSING
|
||||
You can add an IRC server with `/server` command, for example:
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
|
||||
| weechat | buffers_plugins_names | noms des tampons (incluant les noms d'extensions)
|
||||
|
||||
| weechat | colors | noms des couleurs
|
||||
|
||||
| weechat | commands | commandes (weechat et extensions)
|
||||
|
||||
| weechat | config_files | fichiers de configuration
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
*** 'away_message' (string)
|
||||
*** 'away_time' (time)
|
||||
*** 'lag' (integer)
|
||||
*** 'lag_displayed' (integer)
|
||||
*** 'lag_check_time' (other)
|
||||
*** 'lag_next_check' (time)
|
||||
*** 'lag_last_refresh' (time)
|
||||
@@ -942,6 +943,7 @@
|
||||
*** 'scrolling' (integer)
|
||||
*** 'start_col' (integer)
|
||||
*** 'lines_after' (integer)
|
||||
*** 'text_search_start_line' (pointer, hdata: "line")
|
||||
*** 'prev_scroll' (pointer, hdata: "window_scroll")
|
||||
*** 'next_scroll' (pointer, hdata: "window_scroll")
|
||||
* 'window_tree': arbre des fenêtres
|
||||
|
||||
@@ -6,7 +6,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, "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal)
|
||||
| irc | irc_message_parse | analyse un message IRC | "message" : message IRC, "server" : nom du serveur (optionnel) | "tags" : étiquettes, "message_without_tags" : message sans les étiquettes, "nick" : pseudo, "host" : nom d'hôte, "command" : commande, "channel" : canal, "arguments" : paramètres (inclut le canal), "text" : texte (par exemple message utilisateur), "pos_command" : index de "command" dans le message ("-1" si "command" n'a pas été trouvé), "pos_arguments" : index de "arguments" dans le message ("-1" si "arguments" n'a pas été trouvé), "pos_channel" : index de "channel" dans le message ("-1" si "channel" n'a pas été trouvé), "pos_text" : index de "text" dans le message ("-1" si "text" n'a pas été trouvé)
|
||||
|
||||
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets) | "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
|
||||
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
// DO NOT EDIT BY HAND!
|
||||
//
|
||||
[[command_alias_alias]]
|
||||
[command]*`alias`* créer un alias pour une commande::
|
||||
[command]*`alias`* lister, ajouter ou retirer des alias de commande::
|
||||
|
||||
----
|
||||
/alias [-completion <complétion>] alias [<commande> [;<commande>...]]
|
||||
/alias list [<alias>]
|
||||
add <alias> [<commande>[;<commande>...]]
|
||||
addcompletion <complétion> <alias> [<commande>[;<commande>...]]
|
||||
del <alias> [<alias>...]
|
||||
|
||||
complétion : complétion pour l'alias (optionnel, par défaut la complétion se fait avec la commande cible)
|
||||
note : vous pouvez utiliser %%commande pour utiliser la complétion d'une commande existante
|
||||
alias : nom de l'alias (le caractère joker "*" est autorisé)
|
||||
commande : nom de la commande avec les paramètres (plusieurs commandes peuvent être séparées par des points-virgules)
|
||||
|
||||
Sans paramètre, cette commande liste tous les alias définis.
|
||||
list : afficher les alias (sans paramètre, cette liste est affichée)
|
||||
add : ajouter un alias
|
||||
addcompletion : ajouter un alias avec une complétion personnalisée
|
||||
del : supprimer un alias
|
||||
complétion : complétion pour l'alias : par défaut la complétion se fait avec la commande cible
|
||||
note : vous pouvez utiliser %%commande pour utiliser la complétion d'une commande existante
|
||||
alias : nom de l'alias
|
||||
commande : nom de la commande avec les paramètres (plusieurs commandes peuvent être séparées par des points-virgules)
|
||||
|
||||
Note : dans la commande, les variables spéciales sont remplacées :
|
||||
$n : paramètre 'n' (entre 1 et 9)
|
||||
@@ -25,14 +30,12 @@ Note : dans la commande, les variables spéciales sont remplacées :
|
||||
$var : où "var" est une variable locale du tampon (voir /buffer localvar)
|
||||
exemples : $nick, $channel, $server, $plugin, $name
|
||||
|
||||
Pour supprimer un alias, utilisez la commande /unalias.
|
||||
|
||||
Exemples :
|
||||
alias /split pour diviser la fenêtre horizontalement :
|
||||
/alias split /window splith
|
||||
/alias add split /window splith
|
||||
alias /hello pour dire "hello" sur tous les canaux mais pas sur #weechat :
|
||||
/alias hello /allchan -exclude=#weechat msg * hello
|
||||
/alias add hello /allchan -exclude=#weechat msg * hello
|
||||
alias /forcejoin pour envoyer la commande IRC "forcejoin" avec la complétion de /sajoin :
|
||||
/alias -completion %%sajoin forcejoin /quote forcejoin
|
||||
/alias addcompletion %%sajoin forcejoin /quote forcejoin
|
||||
----
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ Sans paramètre, cette commande affiche la liste des bannissements pour le canal
|
||||
-all|-auto|-open [-nojoin] [-switch]
|
||||
|
||||
serveur : nom du serveur, qui peut être :
|
||||
- nom interne de serveur (créé par /server add, usage recommandé)
|
||||
- nom interne de serveur (ajouté par /server add, usage recommandé)
|
||||
- nom/port ou IP/port, le port par défaut est 6667
|
||||
- URL avec le format : irc[6][s]://[pseudo[:mot_passe]@]irc.example.org[:port][/#canal1][,#canal2[...]]
|
||||
Note : pour une adresse/IP/URL, un serveur temporaire est créé (NON SAUVÉ), voir /help irc.look.temporary_servers
|
||||
Note : pour une adresse/IP/URL, un serveur temporaire est ajouté (NON SAUVÉ), voir /help irc.look.temporary_servers
|
||||
option : définir l'option pour le serveur (pour une option booléenne, la valeur peut être omise)
|
||||
nooption : définir l'option booléenne à 'off' (par exemple : -nossl)
|
||||
-all : se connecter à tous les serveurs définis dans la configuration
|
||||
@@ -686,10 +686,10 @@ raison : raison
|
||||
|
||||
list : afficher les serveurs (sans paramètre, cette liste est affichée)
|
||||
listfull : afficher les serveurs avec de l'info détaillée pour chaque
|
||||
add : créer un nouveau serveur
|
||||
add : ajouter un nouveau serveur
|
||||
serveur : nom du serveur, pour usage interne et affichage
|
||||
nom : nom ou adresse IP du serveur avec port en option (défaut : 6667), plusieurs adresses peuvent être séparées par une virgule
|
||||
temp : créer un serveur temporaire (non sauvé)
|
||||
temp : ajouter un serveur temporaire (non sauvé)
|
||||
option : définir l'option pour le serveur (pour une option booléenne, la valeur peut être omise)
|
||||
nooption : définir l'option booléenne à 'off' (par exemple : -nossl)
|
||||
copy : dupliquer un serveur
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
** type: couleur
|
||||
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné (valeur par défaut: `default`)
|
||||
|
||||
* [[option_irc.color.topic_current]] *irc.color.topic_current*
|
||||
** description: `couleur pour le titre du canal actuel (en rejoignant un canal ou sur /topic)`
|
||||
** type: couleur
|
||||
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias ; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour le gras, "!" pour la vidéo inverse, "/" pour l'italique, "_" pour le souligné (valeur par défaut: `default`)
|
||||
|
||||
* [[option_irc.color.topic_new]] *irc.color.topic_new*
|
||||
** description: `couleur pour le nouveau titre du canal (lorsque le titre est changé)`
|
||||
** type: couleur
|
||||
@@ -358,7 +363,7 @@
|
||||
** valeurs: on, off (valeur par défaut: `on`)
|
||||
|
||||
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
|
||||
** description: `activer la création des serveurs temporaires avec la commande /connect`
|
||||
** description: `activer l'ajout automatique des serveurs temporaires avec la commande /connect`
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: `off`)
|
||||
|
||||
@@ -387,6 +392,11 @@
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"*!$ident@$host"`)
|
||||
|
||||
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
|
||||
** description: `décoder/encoder le nom du canal dans les messages en utilisant les options de charset ; il est recommandé de garder cette option désactivée si vous utilisez seulement UTF-8 dans les noms de canaux ; vous pouvez activer cette option si vous utilisez un charset exotique comme ISO dans les noms de canaux`
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: `off`)
|
||||
|
||||
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
|
||||
** description: `si désactivé, les codes couleurs des messages entrants sont ignorés`
|
||||
** type: booléen
|
||||
@@ -543,7 +553,7 @@
|
||||
** valeurs: toute chaîne (valeur par défaut: `""`)
|
||||
|
||||
* [[option_irc.server_default.nicks]] *irc.server_default.nicks*
|
||||
** description: `pseudos à utiliser sur le serveur (séparés par des virgules)`
|
||||
** description: `pseudos à utiliser sur le serveur (séparés par des virgules) (note : le contenu est évalué, voir /help eval)`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `""`)
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
** valeurs: toute chaîne (valeur par défaut: `""`)
|
||||
|
||||
* [[option_logger.file.path]] *logger.file.path*
|
||||
** description: `chemin pour les fichiers de log WeeChat ; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") ; les caractères de formatage de date sont autorisés (voir man strftime)`
|
||||
** description: `chemin pour les fichiers de log WeeChat ; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") ; les caractères de formatage de date sont autorisés (voir man strftime) (note : le contenu est évalué, voir /help eval)`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"%h/logs/"`)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@
|
||||
** type: entier
|
||||
** valeurs: -1 .. 525600 (valeur par défaut: `1440`)
|
||||
|
||||
* [[option_script.scripts.dir]] *script.scripts.dir*
|
||||
** description: `répertoire du cache local pour les scripts`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.hold]] *script.scripts.hold*
|
||||
** description: `scripts à "figer" : liste de scripts séparés par des virgules qui ne seront jamais mis à jour et ne peuvent pas être supprimés, par exemple : "buffers.pl,iset.pl"`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `""`)
|
||||
|
||||
* [[option_script.scripts.path]] *script.scripts.path*
|
||||
** description: `répertoire du cache local pour les scripts ; "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") (note : le contenu est évalué, voir /help eval)`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.url]] *script.scripts.url*
|
||||
** description: `URL pour le fichier avec la liste des scripts ; par défaut HTTPS est forcé, voir l'option script.scripts.url_force_https`
|
||||
** type: chaîne
|
||||
|
||||
@@ -276,19 +276,23 @@ Pour forcer une comparaison de chaînes, ajoutez des guillemets autour de chaque
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Des variables sont remplacées dans l'expression, en utilisant le format ${variable}, la variable pouvant être, par ordre de priorité :
|
||||
1. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
|
||||
2. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
|
||||
3. une couleur (format : "color:xxx")
|
||||
4. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
|
||||
5. une variable d'environnement (format : "env:XXX")
|
||||
6. une option (format : "fichier.section.option")
|
||||
7. une variable locale du tampon
|
||||
8. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
|
||||
1. une sous-chaîne évaluée (format : "eval:xxx")
|
||||
2. une chaîne avec les caractères échappés (format : "esc:xxx" ou "\xxx")
|
||||
3. une chaîne avec des caractères à cacher (format : "hide:caractère,chaîne")
|
||||
4. une couleur (format : "color:xxx")
|
||||
5. une info (format : "info:nom,paramètres", les paramètres sont optionnels)
|
||||
6. la date/heure courante (format : "date" ou "date:format")
|
||||
7. une variable d'environnement (format : "env:XXX")
|
||||
8. une option (format : "fichier.section.option")
|
||||
9. une variable locale du tampon
|
||||
10. un hdata/variable (la valeur est automatiquement convertie en chaîne), par défaut "window" et "buffer" pointent vers la fenêtre et le tampon courants.
|
||||
Le format du hdata peut être le suivant :
|
||||
hdata.var1.var2... : démarrer avec un hdata (le pointeur doit être connu), et demander les variables l'une après l'autre (d'autres hdata peuvent être suivis)
|
||||
hdata[list].var1.var2... : démarrer avec un hdata en utilisant une liste, par exemple :
|
||||
hdata[liste].var1.var2... : démarrer avec un hdata en utilisant une liste, par exemple :
|
||||
${buffer[gui_buffers].full_name} : nom complet du premier tampon dans la liste chaînée des tampons
|
||||
${plugin[weechat_plugins].name} : nom de la première extension dans la liste chaînée des extensions
|
||||
hdata[pointeur].var1.var2... : démarrer avec un hdata en utilisant un pointeur, par exemple :
|
||||
${buffer[0x1234abcd].full_name} : nom complet du tampon avec ce pointeur (peut être utilisé dans les triggers)
|
||||
Pour le nom du hdata et des variables, voir la "Référence API extension", fonction "weechat_hdata_get".
|
||||
|
||||
Exemples (chaînes simples) :
|
||||
@@ -301,6 +305,7 @@ Exemples (chaînes simples) :
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
|
||||
Exemples (conditions) :
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
@@ -413,12 +418,14 @@ liste des actions :
|
||||
return : simuler la touche "entrée"
|
||||
complete_next : compléter le mot avec la complétion suivante
|
||||
complete_previous : compléter le mot avec la complétion précédente
|
||||
search_text_here : chercher du texte dans le tampon à la position courante
|
||||
search_text : chercher du texte dans le tampon
|
||||
search_switch_case : basculer la casse exacte pour la recherche
|
||||
search_switch_regex : basculer le type de recherche : chaîne/expression régulière
|
||||
search_switch_where : basculer la recherche dans les messages/préfixes
|
||||
search_previous : chercher la ligne précédente
|
||||
search_next : chercher la ligne suivante
|
||||
search_stop_here : arrêter la recherche à la position courante
|
||||
search_stop : arrêter la recherche
|
||||
delete_previous_char : effacer le caractère précédent
|
||||
delete_next_char : effacer le caractère suivant
|
||||
@@ -674,12 +681,12 @@ mot_de_passe : mot de passe (optionnel)
|
||||
valeur : nouvelle valeur pour l'option
|
||||
|
||||
Exemples :
|
||||
créer un proxy http, tournant en local, port 8888 :
|
||||
ajouter un proxy http, tournant en local, port 8888 :
|
||||
/proxy add local http 127.0.0.1 8888
|
||||
créer un proxy http en utilisant le protocole IPv6 :
|
||||
ajouter un proxy http en utilisant le protocole IPv6 :
|
||||
/proxy add local http ::1 8888
|
||||
/proxy set local ipv6 on
|
||||
créer un proxy socks5 avec un utilisateur/mot de passe :
|
||||
ajouter un proxy socks5 avec un utilisateur/mot de passe :
|
||||
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
|
||||
supprimer un proxy :
|
||||
/proxy del myproxy
|
||||
@@ -757,12 +764,10 @@ Lorsqu'une phrase de chiffrement est utilisée (données chiffrées), elle est d
|
||||
Il est possible de définir la variable d'environnement WEECHAT_PASSPHRASE pour éviter la demande (cette même variable est utilisée par WeeChat sur le /upgrade).
|
||||
|
||||
Les données sécurisées avec le format ${sec.data.xxx} peuvent être utilisées dans :
|
||||
- la commande /eval
|
||||
- le paramètre de ligne de commande "--run-command"
|
||||
- les options weechat.startup.command_{before|after}_plugins
|
||||
- les options de proxy : username, password
|
||||
- les options de serveur irc : autojoin, command, password, sasl_{username|password}, username, realname
|
||||
- l'option relay.network.password
|
||||
- la commande /eval.
|
||||
- d'autres options qui peuvent contenir un mot de passe ou des données sensibles (par exemple proxy, serveur irc et relay) ; voir /help sur les options pour vérifier si elles sont évaluées.
|
||||
|
||||
Exemples :
|
||||
définir une phrase de chiffrement :
|
||||
@@ -774,7 +779,7 @@ Exemples :
|
||||
/secure set oftc motdepasse
|
||||
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
|
||||
alias pour ghost du pseudo "pseudo" :
|
||||
/alias ghost /eval /msg -server freenode nickserv ghost pseudo ${sec.data.freenode}
|
||||
/alias add ghost /eval /msg -server freenode nickserv ghost pseudo ${sec.data.freenode}
|
||||
----
|
||||
|
||||
[[command_weechat_set]]
|
||||
@@ -836,8 +841,9 @@ Exemples :
|
||||
[command]*`upgrade`* mettre à jour WeeChat sans se déconnecter des serveurs::
|
||||
|
||||
----
|
||||
/upgrade [<chemin_vers_binaire>|-quit]
|
||||
/upgrade [-yes] [<chemin_vers_binaire>|-quit]
|
||||
|
||||
-yes : requis si l'option weechat.look.confirm_upgrade est activée
|
||||
chemin_vers_binaire : chemin vers le binaire WeeChat (par défaut le binaire courant)
|
||||
-dummy : ne rien faire (option utilisée pour éviter une complétion accidentelle avec "-quit")
|
||||
-quit : fermer *TOUTES* les connexions, sauver la session et quitter, ce qui rend possible une restauration différée (voir ci-dessous)
|
||||
|
||||
@@ -542,6 +542,11 @@
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_upgrade]] *weechat.look.confirm_upgrade*
|
||||
** description: `si activé, la commande /upgrade doit être confirmée par le paramètre supplémentaire "-yes" (voir /help upgrade)`
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: `off`)
|
||||
|
||||
* [[option_weechat.look.day_change]] *weechat.look.day_change*
|
||||
** description: `affiche un message quand le jour change`
|
||||
** type: booléen
|
||||
@@ -712,6 +717,11 @@
|
||||
** type: booléen
|
||||
** valeurs: on, off (valeur par défaut: `on`)
|
||||
|
||||
* [[option_weechat.look.key_grab_delay]] *weechat.look.key_grab_delay*
|
||||
** description: `délai par défaut (en millisecondes) pour capturer une touche (en utilisant la touche par défaut alt-k) ; ce délai peut être remplacé dans la commande /input (voir /help input)`
|
||||
** type: entier
|
||||
** valeurs: 1 .. 10000 (valeur par défaut: `800`)
|
||||
|
||||
* [[option_weechat.look.mouse]] *weechat.look.mouse*
|
||||
** description: `activer le support de la souris`
|
||||
** type: booléen
|
||||
|
||||
@@ -83,12 +83,12 @@
|
||||
** valeurs: on, off (valeur par défaut: `on`)
|
||||
|
||||
* [[option_xfer.file.download_path]] *xfer.file.download_path*
|
||||
** description: `chemin où écrire les fichiers reçus ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")`
|
||||
** description: `chemin où écrire les fichiers reçus : "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") (note : le contenu est évalué, voir /help eval)`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"%h/xfer"`)
|
||||
|
||||
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
|
||||
** description: `chemin pour lire les fichiers envoyés (quand aucun chemin n'est spécifié par l'utilisateur) ("%h" sera remplacé par le répertoire de base WeeChat, par défaut : "~/.weechat")`
|
||||
** description: `chemin pour lire les fichiers envoyés (quand aucun chemin n'est spécifié par l'utilisateur) : "%h" au début de la chaîne est remplacé par le répertoire de base WeeChat (par défaut : "~/.weechat") (note : le contenu est évalué, voir /help eval)`
|
||||
** type: chaîne
|
||||
** valeurs: toute chaîne (valeur par défaut: `"~"`)
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ weechat - le client de discussion extensible
|
||||
|
||||
== DESCRIPTION
|
||||
|
||||
// TRANSLATION MISSING
|
||||
WeeChat (Wee Enhanced Environment for Chat) est un client de discussion libre,
|
||||
rapide et léger, conçu pour différents systèmes d'exploitation.
|
||||
Il est hautement paramétrable et extensible avec des scripts.
|
||||
|
||||
@@ -22,23 +22,36 @@ rapide et léger, conçu pour différents systèmes d'exploitation.
|
||||
|
||||
Ce manuel documente l'intérieur de WeeChat :
|
||||
|
||||
* dépôt (sources, documentation, ...)
|
||||
* dépôts
|
||||
* règles de développement
|
||||
* le cœur
|
||||
* les extensions
|
||||
* comment contribuer à WeeChat.
|
||||
|
||||
[[repository]]
|
||||
== Dépôt
|
||||
[[repositories]]
|
||||
== Dépôts
|
||||
|
||||
WeeChat a deux dépôts principaux :
|
||||
Les dépôts de WeeChat sont dans l'organisation "weechat" de GitHub :
|
||||
https://github.com/weechat
|
||||
|
||||
* dépôt principal : il contient le code source et la documentation, l'URL est :
|
||||
https://github.com/weechat/weechat
|
||||
* scripts : les scripts 'officiels' soumis sur weechat.org, l'URL est :
|
||||
https://github.com/weechat/scripts
|
||||
Liste des dépôts :
|
||||
|
||||
Ce manuel documente seulement le dépôt principal.
|
||||
weechat::
|
||||
dépôt principal avec le code source et la documentation
|
||||
|
||||
scripts::
|
||||
les scripts 'officiels' soumis sur weechat.org
|
||||
|
||||
weechat.org::
|
||||
le code source du site de WeeChat : https://weechat.org/
|
||||
|
||||
weercd::
|
||||
serveur de test IRC
|
||||
|
||||
qweechat::
|
||||
interface Qt distante pour WeeChat.
|
||||
|
||||
Ce manuel documente seulement le dépôt 'weechat'.
|
||||
|
||||
[[overview]]
|
||||
=== Vue d'ensemble
|
||||
@@ -58,17 +71,17 @@ Les répertoires principaux de WeeChat sont :
|
||||
| charset/ | Extension Charset
|
||||
| exec/ | Extension Exec
|
||||
| fifo/ | Extension Fifo (tube FIFO utilisé pour envoyer des commandes à WeeChat)
|
||||
| irc/ | Extension IRC (Internet Relay Chat)
|
||||
| logger/ | Extension Logger (enregistrer les messages affichés dans des fichiers)
|
||||
| relay/ | Extension Relay (proxy IRC + relai pour interfaces distantes)
|
||||
| script/ | Gestionnaire de scripts
|
||||
| python/ | API script Python
|
||||
| perl/ | API script Perl
|
||||
| ruby/ | API script Ruby
|
||||
| lua/ | API script Lua
|
||||
| tcl/ | API script Tcl
|
||||
| guile/ | API script Guile (scheme)
|
||||
| irc/ | Extension IRC (Internet Relay Chat)
|
||||
| javascript/ | API script Javascript
|
||||
| logger/ | Extension Logger (enregistrer les messages affichés dans des fichiers)
|
||||
| lua/ | API script Lua
|
||||
| perl/ | API script Perl
|
||||
| python/ | API script Python
|
||||
| relay/ | Extension Relay (proxy IRC + relai pour interfaces distantes)
|
||||
| ruby/ | API script Ruby
|
||||
| script/ | Gestionnaire de scripts
|
||||
| tcl/ | API script Tcl
|
||||
| trigger/ | Extension Trigger
|
||||
| xfer/ | Extension Xfer (IRC DCC fichier/discussion)
|
||||
| tests/ | Tests
|
||||
@@ -94,7 +107,6 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
||||
|===
|
||||
| Chemin/fichier | Description
|
||||
| core/ | Fonctions du cœur : point d'entrée, structures internes
|
||||
| weechat.c | Fonctions principales : options de ligne de commande, démarrage
|
||||
| wee-arraylist.c | Listes avec tableau (« arraylists »)
|
||||
| wee-backtrace.c | Afficher une trace après un plantage
|
||||
| wee-command.c | Commandes du cœur de WeeChat
|
||||
@@ -120,6 +132,7 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
||||
| wee-utf8.c | Fonctions UTF-8
|
||||
| wee-util.c | Quelques autres fonctions utilitaires
|
||||
| wee-version.c | Fonctions pour la version de WeeChat
|
||||
| weechat.c | Fonctions principales : options de ligne de commande, démarrage
|
||||
| gui/ | Fonctions pour les tampons, fenêtres, ... (utilisées par toutes les interfaces)
|
||||
| gui-bar-item.c | Objets de barre
|
||||
| gui-bar-window.c | Fenêtres de barre
|
||||
@@ -168,6 +181,8 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
||||
| weechat-plugin.h | En-tête destiné à être distribué avec les extensions WeeChat, pour les compiler
|
||||
| alias/ | Extension Alias
|
||||
| alias.c | Fonctions principales pour les alias
|
||||
| alias-command.c | Commandes Alias
|
||||
| alias-completion.c | Complétions pour Alias
|
||||
| alias-config.c | Options de configuration des alias (fichier alias.conf)
|
||||
| alias-info.c | Info/infolists/hdata pour les alias
|
||||
| aspell/ | Extension Aspell
|
||||
@@ -297,20 +312,21 @@ Le cœur de WeeChat est situé dans les répertoires suivants :
|
||||
|
||||
[width="100%",cols="1v,5",options="header"]
|
||||
|===
|
||||
| Chemin/fichier | Description
|
||||
| tests/ | Racine des tests
|
||||
| tests.cpp | Programme utilisé pour lancer les tests
|
||||
| unit/ | Racine des tests unitaires
|
||||
| core/ | Racine des tests unitaires pour le cœur
|
||||
| test-eval.cpp | Tests : évaluation d'expressions
|
||||
| test-hashtble.cpp | Tests : tables de hachage
|
||||
| test-hdata.cpp | Tests : hdata
|
||||
| test-infolist.cpp | Tests : infolists
|
||||
| test-list.cpp | Tests : listes
|
||||
| test-string.cpp | Tests : chaînes
|
||||
| test-url.cpp | Tests : URLs
|
||||
| test-utf8.cpp | Tests : UTF-8
|
||||
| test-util.cpp | Tests : fonctions utiles
|
||||
| Chemin/fichier | Description
|
||||
| tests/ | Racine des tests
|
||||
| tests.cpp | Programme utilisé pour lancer les tests
|
||||
| unit/ | Racine des tests unitaires
|
||||
| core/ | Racine des tests unitaires pour le cœur
|
||||
| test-arraylist.cpp | Tests : listes avec tableau (« arraylists »)
|
||||
| test-eval.cpp | Tests : évaluation d'expressions
|
||||
| test-hashtble.cpp | Tests : tables de hachage
|
||||
| test-hdata.cpp | Tests : hdata
|
||||
| test-infolist.cpp | Tests : infolists
|
||||
| test-list.cpp | Tests : listes
|
||||
| test-string.cpp | Tests : chaînes
|
||||
| test-url.cpp | Tests : URLs
|
||||
| test-utf8.cpp | Tests : UTF-8
|
||||
| test-util.cpp | Tests : fonctions utiles
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -326,16 +342,16 @@ Fichiers de documentation :
|
||||
| asciidoc.css | Style Asciidoc
|
||||
| docgen.py | Script Python pour construire les fichiers dans le répertoire 'autogen/' (voir ci-dessous)
|
||||
| XX/ | Documentation pour la langue XX (langues : en, fr, de, it, ...)
|
||||
| cmdline_options.XX.asciidoc | Options de ligne de commande (fichier inclus dans la page de manuel et le guide utilisateur)
|
||||
| weechat.1.XX.asciidoc | Page de manuel (`man weechat`)
|
||||
| weechat_quickstart.XX.asciidoc | Guide de démarrage
|
||||
| weechat_user.XX.asciidoc | Guide utilisateur
|
||||
| weechat_dev.XX.asciidoc | Guide du développeur (ce document)
|
||||
| weechat_faq.XX.asciidoc | FAQ (questions fréquemment posées)
|
||||
| weechat_plugin_api.XX.asciidoc | Référence API extension
|
||||
| weechat_quickstart.XX.asciidoc | Guide de démarrage
|
||||
| weechat_relay_protocol.XX.asciidoc | Protocole Relay (pour les interfaces distantes)
|
||||
| weechat_scripting.XX.asciidoc | Guide pour scripts
|
||||
| weechat_tester.XX.asciidoc | Guide du testeur
|
||||
| weechat_dev.XX.asciidoc | Guide du développeur (ce document)
|
||||
| weechat_relay_protocol.XX.asciidoc | Protocole Relay (pour les interfaces distantes)
|
||||
| cmdline_options.XX.asciidoc | Options de ligne de commande (fichier inclus dans la page de manuel et le guide utilisateur)
|
||||
| weechat_user.XX.asciidoc | Guide utilisateur
|
||||
| autogen/ | Fichiers automatiquement générés avec le script docgen.py
|
||||
| user/ | Fichiers automatiquement générés pour le guide utilisateur (ne *JAMAIS* les mettre à jour manuellement !)
|
||||
| plugin_api/ | Fichiers automatiquement générés pour l'API extension (ne *JAMAIS* les mettre à jour manuellement !)
|
||||
@@ -586,12 +602,13 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
|
||||
|
||||
[source,lisp]
|
||||
----
|
||||
(add-hook 'c-mode-common-hook '(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4
|
||||
c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
(add-hook 'c-mode-common-hook
|
||||
'(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4)
|
||||
(c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
----
|
||||
|
||||
[[coding_python_style]]
|
||||
@@ -1056,7 +1073,7 @@ vers votre répertoire '/doc' :
|
||||
Créez alors cet alias pour construire les fichiers :
|
||||
|
||||
----
|
||||
/alias doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
/alias add doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
----
|
||||
|
||||
Et utilisez la commande `/doc` pour construire tous les fichiers, pour toutes
|
||||
|
||||
@@ -113,6 +113,19 @@ La locale UTF-8 est recommandée pour WeeChat. Si vous utilisez ISO ou une autre
|
||||
locale, assurez-vous que *tout* soit configuré en ISO (terminal, screen, ...)
|
||||
et *pas* en UTF-8.
|
||||
|
||||
[[unicode_chars]]
|
||||
=== Certains caractères unicode sont affichés dans le terminal, mais pas dans WeeChat, pourquoi ?
|
||||
|
||||
Cela peut être causé par un bug de la libc dans la fonction 'wcwidth' et
|
||||
devrait être corrigé dans la glibc 2.22 (peut-être pas encore disponible dans
|
||||
votre distribution).
|
||||
|
||||
Il y a un moyen de contournement pour utiliser la fonction 'wcwidth' corrigée :
|
||||
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
|
||||
|
||||
Voir ce rapport de bug pour plus d'informations :
|
||||
https://github.com/weechat/weechat/issues/79
|
||||
|
||||
[[bars_background]]
|
||||
=== Des barres telles que le titre et le statut ne sont pas remplies, la couleur de fond s'arrête après le texte, pourquoi ?
|
||||
|
||||
@@ -559,7 +572,7 @@ Des serveurs tels que 'twitch' requièrent oauth pour se connecter.
|
||||
|
||||
L'oauth est simplement un mot de passe avec la valeur "oauth:XXXX".
|
||||
|
||||
Vous pouvez créer un tel serveur et vous y connecter avec les commandes
|
||||
Vous pouvez ajouter un tel serveur et vous y connecter avec les commandes
|
||||
suivantes (remplacez le nom et l'adresse par les valeurs appropriées) :
|
||||
|
||||
----
|
||||
|
||||
@@ -766,13 +766,15 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== strcasestr
|
||||
|
||||
_Mis à jour dans la 1.3._
|
||||
|
||||
Rechercher une chaîne indépendemment de la locale et de la casse.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_strcasestr (const char *string, const char *search);
|
||||
const char *weechat_strcasestr (const char *string, const char *search);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
@@ -783,12 +785,14 @@ Paramètres :
|
||||
Valeur de retour :
|
||||
|
||||
* pointeur vers la chaîne trouvée, ou NULL si non trouvée
|
||||
(_WeeChat ≥ 1.3_ : le pointeur retourné est un 'const char *' au lieu d'un
|
||||
'char *')
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *pos = weechat_strcasestr ("aBcDeF", "de"); /* résultat : pointeur vers "DeF" */
|
||||
const char *pos = weechat_strcasestr ("aBcDeF", "de"); /* résultat : pointeur vers "DeF" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -927,6 +931,64 @@ free (str);
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== string_eval_path_home
|
||||
|
||||
_WeeChat ≥ 1.3._
|
||||
|
||||
Évaluer un chemin en 3 étapes :
|
||||
|
||||
. remplacer le `%h` du début par le répertoire maison de WeeChat,
|
||||
. remplacer le `~` du début par le répertoire maison de l'utilisateur (appel à
|
||||
<<_string_expand_home,weechat_string_expand_home>>),
|
||||
. évaluer les variables
|
||||
(voir <<_string_eval_expression,weechat_string_eval_expression>>).
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_string_eval_path_home (const char *path,
|
||||
struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* 'path' : chemin
|
||||
* 'pointers' : table de hachage pour l'appel à la fonction
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'extra_vars' : table de hachage pour l'appel à la fonction
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'options' : table de hachage pour l'appel à la fonction
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* chemin évalué (doit être supprimé par un appel à "free" après utilisation)
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = weechat_string_expand_home ("%h/test");
|
||||
/* result: "/home/xxx/.weechat/test" */
|
||||
/* ... */
|
||||
free (str);
|
||||
----
|
||||
|
||||
Script (Python):
|
||||
|
||||
[source,python]
|
||||
----
|
||||
# prototype
|
||||
path = weechat.string_eval_path_home(path, pointers, extra_vars, options)
|
||||
|
||||
# exemple
|
||||
path = weechat.string_eval_path_home("%h/test", "", "", "")
|
||||
# path == "/home/xxx/.weechat/test"
|
||||
----
|
||||
|
||||
==== string_remove_quotes
|
||||
|
||||
Supprimer les apostrophes/guillemets au début et à la fin d'une chaîne (les
|
||||
@@ -1877,7 +1939,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
|
||||
|
||||
==== string_eval_expression
|
||||
|
||||
_WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2 et 1.1._
|
||||
_WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 1.0, 1.1, 1.2 et 1.3._
|
||||
|
||||
Évaluer l'expression et retourner le résultat sous forme de chaîne.
|
||||
Les variables spéciales avec le format `${variable}` sont étendues (voir le
|
||||
@@ -1935,13 +1997,20 @@ Valeur de retour :
|
||||
Liste des variables étendues dans l'expression (par ordre de priorité, de la
|
||||
première étendue à la dernière) :
|
||||
|
||||
[width="100%",cols="2,8,3,3",options="header"]
|
||||
[width="100%",cols="2,8,4,4",options="header"]
|
||||
|===
|
||||
| Format | Description | Exemples | Résultats
|
||||
|
||||
| `${nom}` | Variable `nom` de la table de hachage 'extra_vars' |
|
||||
`${nom}` | `valeur`
|
||||
|
||||
| `${eval:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
Chaîne à évaluer |
|
||||
`${eval:${date:${weechat.look.buffer_time_format}}}` |
|
||||
`19:02:45` (avec des couleurs s'il y a des codes couleur dans l'option
|
||||
weechat.look.buffer_time_format)
|
||||
|
||||
| `${esc:xxx}` +
|
||||
`${\xxx}` | Chaîne avec caractères échappés |
|
||||
`${esc:préfixe\tmessage}` +
|
||||
@@ -1978,6 +2047,16 @@ première étendue à la dernière) :
|
||||
`1.0` +
|
||||
`lightblue`
|
||||
|
||||
| `${date}` +
|
||||
`${date:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
La date/heure courante, avec un format personnalisé (voir `man strftime`),
|
||||
le format par défaut est `%F %T` |
|
||||
`${date}` +
|
||||
`${date:%H:%M:%S}` |
|
||||
`2015-06-30 19:02:45` +
|
||||
`19:02:45`
|
||||
|
||||
| `${env:NOM}` +
|
||||
(_WeeChat ≥ 1.2_) |
|
||||
Valeur de la variable d'environnement `NOM` |
|
||||
@@ -2180,13 +2259,16 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== utf8_prev_char
|
||||
|
||||
_Mis à jour dans la 1.3._
|
||||
|
||||
Retourner un pointeur vers le caractère UTF-8 précédent dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_prev_char (const char *string_start, const char *string);
|
||||
const char *weechat_utf8_prev_char (const char *string_start,
|
||||
const char *string);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
@@ -2199,12 +2281,14 @@ Valeur de retour :
|
||||
|
||||
* pointeur vers le caractère UTF-8 précédent, NULL si non trouvé (début de
|
||||
chaîne atteint)
|
||||
(_WeeChat ≥ 1.3_ : le pointeur retourné est un 'const char *' au lieu d'un
|
||||
'char *')
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
const char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2212,13 +2296,15 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== utf8_next_char
|
||||
|
||||
_Mis à jour dans la 1.3._
|
||||
|
||||
Retourner un pointeur vers le caractère UTF-8 suivant dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_next_char (const char *string);
|
||||
const char *weechat_utf8_next_char (const char *string);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
@@ -2229,12 +2315,14 @@ Valeur de retour :
|
||||
|
||||
* pointeur vers le caractère UTF-8 suivant, NULL si non trouvé (fin de la
|
||||
chaîne atteinte)
|
||||
(_WeeChat ≥ 1.3_ : le pointeur retourné est un 'const char *' au lieu d'un
|
||||
'char *')
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *next_char = weechat_utf8_next_char (string);
|
||||
const char *next_char = weechat_utf8_next_char (string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2488,13 +2576,15 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== utf8_add_offset
|
||||
|
||||
_Mis à jour dans la 1.3._
|
||||
|
||||
Avancer de N caractères dans une chaîne UTF-8.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
const char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
@@ -2506,13 +2596,15 @@ Valeur de retour :
|
||||
|
||||
* pointeur vers la chaîne, N caractères après (NULL s'il est impossible
|
||||
d'atteindre cette position dans la chaîne)
|
||||
(_WeeChat ≥ 1.3_ : le pointeur retourné est un 'const char *' au lieu d'un
|
||||
'char *')
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = "chêne";
|
||||
char *str2 = weechat_utf8_add_offset (str, 3); /* pointe vers "ne" */
|
||||
const char *str = "chêne";
|
||||
const char *str2 = weechat_utf8_add_offset (str, 3); /* pointe vers "ne" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2923,21 +3015,26 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_get_time_string
|
||||
|
||||
_WeeChat ≥ 0.3.2._
|
||||
_WeeChat ≥ 0.3.2, mise à jour dans la 1.3._
|
||||
|
||||
Retourner la date/heure sous forme de chaîne construite avec "strftime".
|
||||
Retourner la date/heure sous forme de chaîne construite avec "strftime" et le
|
||||
format défini dans l'option 'weechat.look.time_format'.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_util_get_time_string (const time_t *date);
|
||||
const char *weechat_util_get_time_string (const time_t *date);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* 'date' : pointeur vers la date
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* pointeur vers une chaîne contenant la date/heure
|
||||
|
||||
Exemple en C :
|
||||
|
||||
[source,C]
|
||||
@@ -7255,6 +7352,8 @@ hook = weechat.hook_timer(20 * 1000, 0, 0, "my_timer_cb", "")
|
||||
|
||||
==== hook_fd
|
||||
|
||||
_Mis à jour dans la 1.3._
|
||||
|
||||
Accrocher un descripteur de fichier (fichier ou socket).
|
||||
|
||||
Prototype :
|
||||
@@ -7276,6 +7375,7 @@ Paramètres :
|
||||
* 'flag_read' : 1 = intercepter un évènement de lecture, 0 = ignorer
|
||||
* 'flag_write' : 1 = intercepter un évènement d'écriture, 0 = ignorer
|
||||
* 'flag_exception' : 1 = intercepter un évènement d'exception, 0 = ignorer
|
||||
(_WeeChat ≥ 1.3_ : ce paramètre est ignoré et n'est plus utilisé)
|
||||
* 'callback' : fonction appelée lorsqu'un des évènements sélectionnés se
|
||||
produit pour le fichier (ou le socket), paramètres et valeur de retour :
|
||||
** 'void *data' : pointeur
|
||||
@@ -8535,6 +8635,11 @@ Liste des signaux envoyés par WeeChat et les extensions :
|
||||
Chaîne : paramètres pour le /quit |
|
||||
La commande `/quit` a été exécutée par l'utilisateur
|
||||
|
||||
| weechat | signal_sighup +
|
||||
_(WeeChat ≥ 1.3)_ |
|
||||
- |
|
||||
Signal SIGHUP reçu
|
||||
|
||||
| weechat | signal_sigquit +
|
||||
_(WeeChat ≥ 1.2)_ |
|
||||
- |
|
||||
@@ -13088,23 +13193,36 @@ hashtable_in = weechat_hashtable_new (8,
|
||||
NULL);
|
||||
if (hashtable_in)
|
||||
{
|
||||
weechat_hashtable_set (hashtable_in, "message",
|
||||
":nick!user@host PRIVMSG #weechat :message ici");
|
||||
weechat_hashtable_set (
|
||||
hashtable_in,
|
||||
"message",
|
||||
"@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!");
|
||||
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
|
||||
hashtable_in);
|
||||
/*
|
||||
* maintenant hashtable_out a les clés/valeurs suivantes :
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments": "#weechat :message ici"
|
||||
* "tags" : "time=2015-06-27T16:40:35.000Z"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments" : "#weechat :hello!"
|
||||
* "text" : "hello!"
|
||||
* "pos_command" : "47"
|
||||
* "pos_arguments" : "55"
|
||||
* "pos_channel" : "55"
|
||||
* "pos_text" : "65"
|
||||
*/
|
||||
weechat_hashtable_free (hashtable_in);
|
||||
weechat_hashtable_free (hashtable_out);
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Voir le 'Guide pour Scripts WeeChat' pour plus d'infos sur la sortie de
|
||||
"irc_message_parse".
|
||||
|
||||
Script (Python) :
|
||||
|
||||
[source,python]
|
||||
|
||||
@@ -97,8 +97,8 @@ Tous les protocoles réseau comme IRC sont fournis sous forme d'extensions.
|
||||
Utilisez la commande `/plugin` pour voir les extensions chargées, vous
|
||||
devriez voir "irc" et d'autres extensions dans cette liste.
|
||||
|
||||
[[create_irc_server]]
|
||||
== Créer un serveur IRC
|
||||
[[add_irc_server]]
|
||||
== Ajouter un serveur IRC
|
||||
|
||||
Vous pouvez ajouter un serveur IRC avec la commande `/server`, par exemple :
|
||||
|
||||
|
||||
@@ -402,7 +402,7 @@ Liste des fonctions de l'API script :
|
||||
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
|
||||
strlen_screen, string_match, string_has_highlight, string_has_highlight_regex,
|
||||
string_mask_to_regex, string_remove_color, string_is_command_char,
|
||||
string_input_for_buffer, string_eval_expression
|
||||
string_input_for_buffer, string_eval_expression, string_eval_path_home
|
||||
| répertoires |
|
||||
mkdir_home, mkdir, mkdir_parents
|
||||
| listes triées |
|
||||
@@ -922,14 +922,84 @@ _Nouveau dans la version 0.3.4._
|
||||
Vous pouvez analyser un message IRC avec l'info_hashtable appelée
|
||||
"irc_message_parse".
|
||||
|
||||
Le résultat est une table de hachage avec les clés suivantes
|
||||
(les exemples de valeurs sont construits avec ce message :
|
||||
`@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!`):
|
||||
|
||||
[width="100%",cols="1,^2,10,8",options="header"]
|
||||
|===
|
||||
| Clé | Version de WeeChat | Description | Exemple
|
||||
|
||||
| tags | ≥ 0.4.0 |
|
||||
Les étiquettes dans le message (peut être vide) |
|
||||
`time=2015-06-27T16:40:35.000Z`
|
||||
|
||||
| message_without_tags | ≥ 0.4.0 |
|
||||
Le message sans les étiquettes (la même chose que le message s'il n'y a pas
|
||||
d'étiquettes) |
|
||||
`:nick!user@host PRIVMSG #weechat :hello!`
|
||||
|
||||
| nick | ≥ 0.3.4 |
|
||||
Le pseudo d'origine |
|
||||
`nick`
|
||||
|
||||
| host | ≥ 0.3.4 |
|
||||
L'hôte d'origine (incluant le pseudo) |
|
||||
`nick!user@host`
|
||||
|
||||
| command | ≥ 0.3.4 |
|
||||
La commande ('PRIVMSG', 'NOTICE', ...) |
|
||||
`PRIVMSG`
|
||||
|
||||
| channel | ≥ 0.3.4 |
|
||||
Le canal cible |
|
||||
`#weechat`
|
||||
|
||||
| arguments | ≥ 0.3.4 |
|
||||
Les paramètres de la commande (incluant le canal) |
|
||||
`#weechat :hello!`
|
||||
|
||||
| text | ≥ 1.3 |
|
||||
Le texte (par exemple un message utilisateur) |
|
||||
`hello!`
|
||||
|
||||
| pos_command | ≥ 1.3 |
|
||||
La position de 'command' dans le message ("-1" si 'command' n'a pas été trouvé) |
|
||||
`47`
|
||||
|
||||
| pos_arguments | ≥ 1.3 |
|
||||
La position de 'arguments' dans le message ("-1" si 'arguments' n'a pas été trouvé) |
|
||||
`55`
|
||||
|
||||
| pos_channel | ≥ 1.3 |
|
||||
La position de 'channel' dans le message ("-1" si 'channel' n'a pas été trouvé) |
|
||||
`55`
|
||||
|
||||
| pos_text | ≥ 1.3 |
|
||||
La position de 'text' dans le message ("-1" si 'text' n'a pas été trouvé) |
|
||||
`65`
|
||||
|===
|
||||
|
||||
[source,python]
|
||||
----
|
||||
dict = weechat.info_get_hashtable("irc_message_parse",
|
||||
{"message": ":nick!user@host PRIVMSG #weechat :message ici"})
|
||||
weechat.prnt("", "dict: %s" % dict)
|
||||
dict = weechat.info_get_hashtable(
|
||||
"irc_message_parse",
|
||||
{"message": "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!"})
|
||||
|
||||
# output:
|
||||
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message ici', 'channel': '#weechat'}
|
||||
# dict == {
|
||||
# "tags": "time=2015-06-27T16:40:35.000Z",
|
||||
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
|
||||
# "nick": "nick",
|
||||
# "host": "nick!user@host",
|
||||
# "command": "PRIVMSG",
|
||||
# "channel": "#weechat",
|
||||
# "arguments": "#weechat :hello!",
|
||||
# "text": "hello!",
|
||||
# "pos_command": "47",
|
||||
# "pos_arguments": "55",
|
||||
# "pos_channel": "55",
|
||||
# "pos_text": "65",
|
||||
# }
|
||||
----
|
||||
|
||||
[[infos]]
|
||||
|
||||
@@ -91,7 +91,7 @@ Pour compiler les sources, cmake est recommandé :
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
@@ -34,6 +34,7 @@ Ses principales fonctionnalités sont les suivantes :
|
||||
http://tools.ietf.org/html/rfc2811[2811],
|
||||
http://tools.ietf.org/html/rfc2812[2812] et
|
||||
http://tools.ietf.org/html/rfc2813[2813]
|
||||
* proxy IRC et relai pour interfaces distantes
|
||||
* multi plates-formes (GNU/Linux, *BSD, MacOS X, Windows et d'autres systèmes)
|
||||
* 100% GPL, logiciel libre
|
||||
|
||||
@@ -65,6 +66,7 @@ Les paquets binaires sont disponibles pour beaucoup de distributions, dont :
|
||||
* Arch Linux : `pacman -S weechat`
|
||||
* Fedora Core : `yum install weechat`
|
||||
* Sourcemage : `cast weechat`
|
||||
* Cygwin (Windows) : sélectionnez les paquets WeeChat dans setup.exe
|
||||
|
||||
Des paquets additionnels peuvent être utiles également, comme weechat-plugins.
|
||||
|
||||
@@ -191,7 +193,7 @@ $ make
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=/chemin/vers/répertoire
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/chemin/vers/répertoire
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
@@ -208,7 +210,7 @@ Liste des options couramment utilisées :
|
||||
Type de construction: `Debug` (ou `RelWithDebInfo`) est recommandé si vous
|
||||
utilisez une version de développement de WeeChat.
|
||||
|
||||
| PREFIX | répertoire | /usr/local |
|
||||
| CMAKE_INSTALL_PREFIX | répertoire | /usr/local |
|
||||
Le répertoire dans lequel WeeChat sera installé.
|
||||
|
||||
| WEECHAT_HOME | répertoire | ~/.weechat |
|
||||
@@ -1125,7 +1127,7 @@ commande `/buffer` :
|
||||
| key[Backsp.] .2+| Effacer le caractère précédent sur la ligne de commande .2+| `/input delete_previous_char`
|
||||
| key[ctrl-h]
|
||||
| key[ctrl-k] | Effacer du curseur jusqu'à la fin de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers) | `/input delete_end_of_line`
|
||||
| key[ctrl-r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>) | `/input search_text`
|
||||
| key[ctrl-r] | Chercher du texte dans l'historique du tampon (voir <<key_bindings_search_context,les touches pour le contexte de recherche>>) | `/input search_text_here`
|
||||
| key[ctrl-t] | Inverser deux caractères | `/input transpose_chars`
|
||||
| key[ctrl-u] | Effacer du curseur jusqu'au début de la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers) | `/input delete_beginning_of_line`
|
||||
| key[ctrl-w] | Effacer le mot précédent sur la ligne de commande (la chaîne supprimée est copiée dans le presse-papiers) | `/input delete_previous_word`
|
||||
@@ -1186,7 +1188,7 @@ commande `/buffer` :
|
||||
| key[alt-j,alt-r] | Sauter au tampon IRC de données brutes | `/server raw`
|
||||
| key[alt-j,alt-s] | Sauter au tampon IRC du serveur | `/server jump`
|
||||
| key[alt-0...9] | Sauter au tampon qui porte ce numéro (0 = 10) | `/buffer *N`
|
||||
| key[alt-j,01...99] | Sauter au tampon qui porte ce numéro | `/buffer NN`
|
||||
| key[alt-j,01...99] | Sauter au tampon qui porte ce numéro | `/buffer *NN`
|
||||
| key[alt-l] | Activer/désactiver le mode d'affichage dépouillé | `/window bare`
|
||||
| key[alt-m] | Activer/désactiver la souris | `/mouse toggle`
|
||||
| key[alt-n] | Se positionner sur le highlight suivant | `/window scroll_next_highlight`
|
||||
@@ -1220,9 +1222,10 @@ pressé pour chercher du texte dans le tampon).
|
||||
| key[Tab] | Basculer la recherche dans : les messages (par défaut), les préfixes, les préfixes + messages | `/input search_switch_where`
|
||||
| key[↑] | Chercher la ligne précédente | `/input search_previous`
|
||||
| key[↓] | Chercher la ligne suivante | `/input search_next`
|
||||
| key[Enter] .3+| Arrêter la recherche .3+| `/input search_stop`
|
||||
| key[Enter] .3+| Arrêter la recherche à la position courante .3+| `/input search_stop_here`
|
||||
| key[ctrl-j]
|
||||
| key[ctrl-m]
|
||||
| key[ctrl-q] | Arrêter la recherche et aller à la fin du tampon | `/input search_stop`
|
||||
|===
|
||||
|
||||
[[key_bindings_cursor_context]]
|
||||
@@ -2257,7 +2260,7 @@ $ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
|
||||
Note: il est possible de concaténer plusieurs certificats dans une le fichier
|
||||
CAs.pem.
|
||||
|
||||
* Sous WeeChat, avec le serveur "oftc" déjà créé :
|
||||
* Sous WeeChat, avec le serveur "oftc" déjà ajouté :
|
||||
|
||||
----
|
||||
/connect oftc
|
||||
@@ -2274,7 +2277,7 @@ $ cd ~/.weechat/ssl
|
||||
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
|
||||
----
|
||||
|
||||
* Sous WeeChat, avec le serveur "oftc" déjà créé :
|
||||
* Sous WeeChat, avec le serveur "oftc" déjà ajouté :
|
||||
|
||||
----
|
||||
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
|
||||
@@ -2366,14 +2369,14 @@ En premier lieu, installez TOR. Pour Debian (et dérivés) :
|
||||
$ sudo apt-get install tor
|
||||
----
|
||||
|
||||
Sous WeeChat vous devez créer un proxy socks5 pour le service TOR (le nom/IP
|
||||
Sous WeeChat vous devez ajouter un proxy socks5 pour le service TOR (le nom/IP
|
||||
et port dépend de votre configuration de TOR) :
|
||||
|
||||
----
|
||||
/proxy add tor socks5 127.0.0.1 9050
|
||||
----
|
||||
|
||||
Maintenant, créez un nouveau serveur, par exemple :
|
||||
Maintenant, ajoutez un nouveau serveur, par exemple :
|
||||
|
||||
----
|
||||
/server add freenode-tor p4fsi4ockecnea7l.onion
|
||||
@@ -3338,8 +3341,21 @@ suivantes sont ajoutées dans la table de hachage :
|
||||
| command | chaîne | Commande IRC (exemple : "PRIVMSG", "NOTICE", ...)
|
||||
| channel | chaîne | Canal IRC
|
||||
| arguments | chaîne | Paramètres de la commande (inclut la valeur de 'channel')
|
||||
| text | chaîne | Texte (par exemple message utilisateur)
|
||||
| pos_command | chaîne | L'index de 'command' dans le message ("-1" si 'command' n'a pas été trouvé)
|
||||
| pos_arguments | chaîne | L'index de 'arguments' dans le message ("-1" si 'arguments' n'a pas été trouvé)
|
||||
| pos_channel | chaîne | L'index de 'channel' dans le message ("-1" si 'channel' n'a pas été trouvé)
|
||||
| pos_text | chaîne | L'index de 'text' dans le message ("-1" si 'text' n'a pas été trouvé)
|
||||
|===
|
||||
|
||||
Lorsque la donnée est un pointeur, la variable `tg_signal_data` peut être
|
||||
utilisée comme ceci pour lire une propriété hdata (dans cet exemple il s'agit
|
||||
d'un pointeur sur un tampon) :
|
||||
|
||||
----
|
||||
${buffer[${tg_signal_data}].full_name}
|
||||
----
|
||||
|
||||
[[trigger_data_hsignal]]
|
||||
===== Hsignal
|
||||
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
|
||||
| weechat | buffers_plugins_names | nomi dei buffer (inclusi i nomi dei plugin)
|
||||
|
||||
| weechat | colors | color names
|
||||
|
||||
| weechat | commands | comandi (weechat e plugin)
|
||||
|
||||
| weechat | config_files | file di configurazione
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
*** 'away_message' (string)
|
||||
*** 'away_time' (time)
|
||||
*** 'lag' (integer)
|
||||
*** 'lag_displayed' (integer)
|
||||
*** 'lag_check_time' (other)
|
||||
*** 'lag_next_check' (time)
|
||||
*** 'lag_last_refresh' (time)
|
||||
@@ -942,6 +943,7 @@
|
||||
*** 'scrolling' (integer)
|
||||
*** 'start_col' (integer)
|
||||
*** 'lines_after' (integer)
|
||||
*** 'text_search_start_line' (pointer, hdata: "line")
|
||||
*** 'prev_scroll' (pointer, hdata: "window_scroll")
|
||||
*** 'next_scroll' (pointer, hdata: "window_scroll")
|
||||
* 'window_tree': albero delle finestre
|
||||
|
||||
@@ -6,7 +6,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": tag, "message_without_tags": messaggio senza tag, "nick": nick, "host": nome host, "command": comando, "channel": canale, "arguments": argomenti (include il canale)
|
||||
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "tags": tags, "message_without_tags": message without the tags, "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | divide un messaggio IRC (per adattarlo in 512 byte) | "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
|
||||
|
||||
|
||||
@@ -3,17 +3,22 @@
|
||||
// DO NOT EDIT BY HAND!
|
||||
//
|
||||
[[command_alias_alias]]
|
||||
[command]*`alias`* crea un alias per un comando::
|
||||
[command]*`alias`* list, add or remove command aliases::
|
||||
|
||||
----
|
||||
/alias [-completion <completamento>] <alias> [<comando> [;<comando>...]]
|
||||
/alias list [<alias>]
|
||||
add <alias> [<command>[;<command>...]]
|
||||
addcompletion <completion> <alias> [<command>[;<command>...]]
|
||||
del <alias> [<alias>...]
|
||||
|
||||
completion: completion for alias (optional, by default completion is done with target command)
|
||||
note: you can use %%command to use completion of an existing command
|
||||
alias: name of alias (wildcard "*" is allowed)
|
||||
command: command name with arguments (many commands can be separated by semicolons)
|
||||
|
||||
Without argument, this command lists all defined alias.
|
||||
list: list aliases (without argument, this list is displayed)
|
||||
add: add an alias
|
||||
addcompletion: add an alias with a custom completion
|
||||
del: delete an alias
|
||||
completion: completion for alias: by default completion is done with target command
|
||||
note: you can use %%command to use completion of an existing command
|
||||
alias: name of alias
|
||||
command: command name with arguments (many commands can be separated by semicolons)
|
||||
|
||||
Note: in command, special variables are replaced:
|
||||
$n: argument 'n' (between 1 and 9)
|
||||
@@ -25,14 +30,12 @@ Note: in command, special variables are replaced:
|
||||
$var: where "var" is a local variable of buffer (see /buffer localvar)
|
||||
examples: $nick, $channel, $server, $plugin, $name
|
||||
|
||||
To remove an alias, use command /unalias.
|
||||
|
||||
Examples:
|
||||
alias /split to split window horizontally:
|
||||
/alias split /window splith
|
||||
/alias add split /window splith
|
||||
alias /hello to say "hello" on all channels but not on #weechat:
|
||||
/alias hello /allchan -exclude=#weechat msg * hello
|
||||
/alias add hello /allchan -exclude=#weechat msg * hello
|
||||
alias /forcejoin to send IRC command "forcejoin" with completion of /sajoin:
|
||||
/alias -completion %%sajoin forcejoin /quote forcejoin
|
||||
/alias addcompletion %%sajoin forcejoin /quote forcejoin
|
||||
----
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ Without argument, this command display ban list for current channel.
|
||||
-all|-auto|-open [-nojoin] [-switch]
|
||||
|
||||
server: server name, which can be:
|
||||
- internal server name (created by /server add, recommended usage)
|
||||
- internal server name (added by /server add, recommended usage)
|
||||
- hostname/port or IP/port, port is 6667 by default
|
||||
- URL with format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
|
||||
Note: for an address/IP/URL, a temporary server is created (NOT SAVED), see /help irc.look.temporary_servers
|
||||
Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /help irc.look.temporary_servers
|
||||
option: set option for server (for boolean option, value can be omitted)
|
||||
nooption: set boolean option to 'off' (for example: -nossl)
|
||||
-all: connect to all servers defined in configuration
|
||||
@@ -686,10 +686,10 @@ motivo: motivo
|
||||
|
||||
list: list servers (without argument, this list is displayed)
|
||||
listfull: list servers with detailed info for each server
|
||||
add: create a new server
|
||||
add: add a new server
|
||||
server: server name, for internal and display use
|
||||
hostname: name or IP address of server, with optional port (default: 6667), many addresses can be separated by a comma
|
||||
temp: create temporary server (not saved)
|
||||
temp: add a temporary server (not saved)
|
||||
option: set option for server (for boolean option, value can be omitted)
|
||||
nooption: set boolean option to 'off' (for example: -nossl)
|
||||
copy: duplicate a server
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
** tipo: colore
|
||||
** valori: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline (valore predefinito: `default`)
|
||||
|
||||
* [[option_irc.color.topic_current]] *irc.color.topic_current*
|
||||
** descrizione: `color for current channel topic (when joining a channel or using /topic)`
|
||||
** tipo: colore
|
||||
** valori: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "/" for italic, "_" for underline (valore predefinito: `default`)
|
||||
|
||||
* [[option_irc.color.topic_new]] *irc.color.topic_new*
|
||||
** descrizione: `colore del nuovo argomento del canale (quando viene cambiato)`
|
||||
** tipo: colore
|
||||
@@ -358,7 +363,7 @@
|
||||
** valori: on, off (valore predefinito: `on`)
|
||||
|
||||
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
|
||||
** descrizione: `enable creation of temporary servers with command /connect`
|
||||
** descrizione: `enable automatic addition of temporary servers with command /connect`
|
||||
** tipo: bool
|
||||
** valori: on, off (valore predefinito: `off`)
|
||||
|
||||
@@ -387,6 +392,11 @@
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"*!$ident@$host"`)
|
||||
|
||||
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
|
||||
** descrizione: `decode/encode channel name inside messages using charset options; it is recommended to keep that off if you use only UTF-8 in channel names; you can enable this option if you are using an exotic charset like ISO in channel names`
|
||||
** tipo: bool
|
||||
** valori: on, off (valore predefinito: `off`)
|
||||
|
||||
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
|
||||
** descrizione: `se disabilitato, i codici colori vengono ignorati nei messaggi in entrata`
|
||||
** tipo: bool
|
||||
@@ -543,7 +553,7 @@
|
||||
** valori: qualsiasi stringa (valore predefinito: `""`)
|
||||
|
||||
* [[option_irc.server_default.nicks]] *irc.server_default.nicks*
|
||||
** descrizione: `nick da usare sul server (separati da virgole)`
|
||||
** descrizione: `nicknames to use on server (separated by comma) (note: content is evaluated, see /help eval)`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `""`)
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
** valori: qualsiasi stringa (valore predefinito: `""`)
|
||||
|
||||
* [[option_logger.file.path]] *logger.file.path*
|
||||
** descrizione: `path per i file di log di WeeChat: "%h" all'inizio della stringa viene sostituito dalla directory home di WeeChat (predefinita è "~/.weechat); sono ammessi gli specificatori di data (consultare man strftime)`
|
||||
** descrizione: `path for WeeChat log files; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default); date specifiers are permitted (see man strftime) (note: content is evaluated, see /help eval)`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"%h/logs/"`)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@
|
||||
** tipo: intero
|
||||
** valori: -1 .. 525600 (valore predefinito: `1440`)
|
||||
|
||||
* [[option_script.scripts.dir]] *script.scripts.dir*
|
||||
** descrizione: `directory locale della cache per gli script`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.hold]] *script.scripts.hold*
|
||||
** descrizione: `scripts to "hold": comma-separated list of scripts which will never been upgraded and can not be removed, for example: "buffers.pl,iset.pl"`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `""`)
|
||||
|
||||
* [[option_script.scripts.path]] *script.scripts.path*
|
||||
** descrizione: `local cache directory for scripts; "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.url]] *script.scripts.url*
|
||||
** descrizione: `URL for file with list of scripts; by default HTTPS is forced, see option script.scripts.url_force_https`
|
||||
** tipo: stringa
|
||||
|
||||
@@ -276,19 +276,23 @@ To force a string comparison, add double quotes around each expression, for exam
|
||||
"50" > "100" ==> 1
|
||||
|
||||
Some variables are replaced in expression, using the format ${variable}, variable can be, by order of priority:
|
||||
1. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
2. a string with chars to hide (format: "hide:char,string")
|
||||
3. a color (format: "color:xxx")
|
||||
4. an info (format: "info:name,arguments", arguments are optional)
|
||||
5. an environment variable (format: "env:XXX")
|
||||
6. an option (format: "file.section.option")
|
||||
7. a local variable in buffer
|
||||
8. a hdata name/variable (the value is automatically converted to string), by default "window" and "buffer" point to current window/buffer.
|
||||
1. an evaluated sub-string (format: "eval:xxx")
|
||||
2. a string with escaped chars (format: "esc:xxx" or "\xxx")
|
||||
3. a string with chars to hide (format: "hide:char,string")
|
||||
4. a color (format: "color:xxx")
|
||||
5. an info (format: "info:name,arguments", arguments are optional)
|
||||
6. current date/time (format: "date" or "date:format")
|
||||
7. an environment variable (format: "env:XXX")
|
||||
8. an option (format: "file.section.option")
|
||||
9. a local variable in buffer
|
||||
10. 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, 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)
|
||||
For name of hdata and variables, please look at "Plugin API reference", function "weechat_hdata_get".
|
||||
|
||||
Examples (simple strings):
|
||||
@@ -301,6 +305,7 @@ Examples (simple strings):
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
|
||||
Examples (conditions):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
@@ -413,12 +418,14 @@ 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
|
||||
@@ -660,29 +667,29 @@ Examples:
|
||||
del <nome>|-all
|
||||
set <nome> <opzione> <valore>
|
||||
|
||||
list: elenca tutti i proxy
|
||||
add: aggiunge un nuovo proxy
|
||||
nome: nome del proxy (deve essere unico)
|
||||
tipo: http, socks4 o socks5
|
||||
address: IP o nome host
|
||||
port: porta
|
||||
username: nome utente (opzionale)
|
||||
password: password (opzionale)
|
||||
del: elimina un proxy (o tutti i proxy con -all)
|
||||
set: imposta un valore per la proprietà di un proxy
|
||||
option: opzione da modificare (per una lista di opzioni, consultare /set weechat.proxy.<nomeproxy>.*)
|
||||
value: nuovo valore per l'opzione
|
||||
list: list all proxies
|
||||
add: add a new proxy
|
||||
name: name of proxy (must be unique)
|
||||
type: http, socks4 or socks5
|
||||
address: IP or hostname
|
||||
port: port
|
||||
username: username (optional)
|
||||
password: password (optional)
|
||||
del: delete a proxy (or all proxies with -all)
|
||||
set: set a value for a proxy property
|
||||
option: option to change (for options list, look at /set weechat.proxy.<proxyname>.*)
|
||||
value: new value for option
|
||||
|
||||
Esempi:
|
||||
crea un proxy http, in esecuzione sull'host locale, porta 8888:
|
||||
Examples:
|
||||
add a http proxy, running on local host, port 8888:
|
||||
/proxy add local http 127.0.0.1 8888
|
||||
crea un proxy http usando il protocollo IPv6:
|
||||
add a http proxy using IPv6 protocol:
|
||||
/proxy add local http ::1 8888
|
||||
/proxy set local ipv6 on
|
||||
crea un proxy socks5 con nomeutente/password:
|
||||
add a socks5 proxy with username/password:
|
||||
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
|
||||
elimina un proxy:
|
||||
/proxy del mioproxy
|
||||
delete a proxy:
|
||||
/proxy del myproxy
|
||||
----
|
||||
|
||||
[[command_weechat_quit]]
|
||||
@@ -757,12 +764,10 @@ When a passphrase is used (data encrypted), it is asked by WeeChat on startup.
|
||||
It is possible to set environment variable "WEECHAT_PASSPHRASE" to prevent the prompt (this same variable is used by WeeChat on /upgrade).
|
||||
|
||||
Secured data with format ${sec.data.xxx} can be used in:
|
||||
- command /eval
|
||||
- command line argument "--run-command"
|
||||
- options weechat.startup.command_{before|after}_plugins
|
||||
- proxy options: username, password
|
||||
- irc server options: autojoin, command, password, sasl_{username|password}, username, realname
|
||||
- option relay.network.password
|
||||
- command /eval.
|
||||
- other options that may contain a password or sensitive data (for example proxy, irc server and relay); see /help on the options to check if they are evaluated.
|
||||
|
||||
Examples:
|
||||
set a passphrase:
|
||||
@@ -774,7 +779,7 @@ Examples:
|
||||
/secure set oftc mypassword
|
||||
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
|
||||
alias to ghost the nick "mynick":
|
||||
/alias ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
/alias add ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
----
|
||||
|
||||
[[command_weechat_set]]
|
||||
@@ -836,8 +841,9 @@ Examples:
|
||||
[command]*`upgrade`* aggiorna WeeChat senza disconnettere dai server::
|
||||
|
||||
----
|
||||
/upgrade [<path_del_binario>|-quit]
|
||||
/upgrade [-yes] [<path_to_binary>|-quit]
|
||||
|
||||
-yes: required if option weechat.look.confirm_upgrade is enabled
|
||||
path_to_binary: path to WeeChat binary (default is current binary)
|
||||
-dummy: do nothing (option used to prevent accidental completion with "-quit")
|
||||
-quit: close *ALL* connections, save session and quit WeeChat, which makes possible a delayed restoration (see below)
|
||||
@@ -927,7 +933,7 @@ Esempi:
|
||||
scroll_horiz [-window <number>] [+/-]<value>[%]
|
||||
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
|
||||
swap [-window <number>] [up|down|left|right]
|
||||
zoom[-window <number>]
|
||||
zoom [-window <number>]
|
||||
bare [<delay>]
|
||||
|
||||
list: list opened windows (without argument, this list is displayed)
|
||||
|
||||
@@ -542,6 +542,11 @@
|
||||
** tipo: bool
|
||||
** valori: on, off (valore predefinito: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_upgrade]] *weechat.look.confirm_upgrade*
|
||||
** descrizione: `if set, /upgrade command must be confirmed with extra argument "-yes" (see /help upgrade)`
|
||||
** tipo: bool
|
||||
** valori: on, off (valore predefinito: `off`)
|
||||
|
||||
* [[option_weechat.look.day_change]] *weechat.look.day_change*
|
||||
** descrizione: `mostra un messaggio speciale al cambio di data`
|
||||
** tipo: bool
|
||||
@@ -712,6 +717,11 @@
|
||||
** tipo: bool
|
||||
** valori: on, off (valore predefinito: `on`)
|
||||
|
||||
* [[option_weechat.look.key_grab_delay]] *weechat.look.key_grab_delay*
|
||||
** descrizione: `default delay (in milliseconds) to grab a key (using default key alt-k); this delay can be overridden in the /input command (see /help input)`
|
||||
** tipo: intero
|
||||
** valori: 1 .. 10000 (valore predefinito: `800`)
|
||||
|
||||
* [[option_weechat.look.mouse]] *weechat.look.mouse*
|
||||
** descrizione: `abilita il supporto del mouse`
|
||||
** tipo: bool
|
||||
|
||||
@@ -83,12 +83,12 @@
|
||||
** valori: on, off (valore predefinito: `on`)
|
||||
|
||||
* [[option_xfer.file.download_path]] *xfer.file.download_path*
|
||||
** descrizione: `path per il salvataggio dei file in arrivo ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)`
|
||||
** descrizione: `path for writing incoming files: "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"%h/xfer"`)
|
||||
|
||||
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
|
||||
** descrizione: `path per la lettura dei file da inviare (quando non specificato dall'utente) ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)`
|
||||
** descrizione: `path for reading files when sending (when no path is specified by user): "%h" at beginning of string is replaced by WeeChat home ("~/.weechat" by default) (note: content is evaluated, see /help eval)`
|
||||
** tipo: stringa
|
||||
** valori: qualsiasi stringa (valore predefinito: `"~"`)
|
||||
|
||||
|
||||
@@ -122,6 +122,19 @@ Si raccomanda il locale UTF-8 per WeeChat. Se si utilizza ISO o un altro
|
||||
locale, per favore verificare che *tutte* le impostazioni (terminale, screen)
|
||||
siano ISO e *non* UTF-8.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[[unicode_chars]]
|
||||
=== Some unicode chars are displayed in terminal but not in WeeChat, why?
|
||||
|
||||
This may be caused by a libc bug in function 'wcwidth', which should be fixed
|
||||
in glibc 2.22 (maybe not yet available in your distribution).
|
||||
|
||||
There is a workaround to use the fixed 'wcwidth' function:
|
||||
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
|
||||
|
||||
See this bug report for more information:
|
||||
https://github.com/weechat/weechat/issues/79
|
||||
|
||||
[[bars_background]]
|
||||
=== Barre come quella del titolo e di stato non sono complete, il colore di sfondo si ferma dopo il testo, perché?
|
||||
|
||||
@@ -569,7 +582,7 @@ Some servers like 'twitch' require oauth to connect.
|
||||
|
||||
The oauth is simply a password with the value "oauth:XXXX".
|
||||
|
||||
You can create such server and connect with following commands (replace name
|
||||
You can add such server and connect with following commands (replace name
|
||||
and address by appropriate values):
|
||||
|
||||
----
|
||||
|
||||
@@ -788,6 +788,9 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== strcasestr
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_Updated in 1.3._
|
||||
|
||||
Cerca una stringa non sensibile alle maiuscole e indipendente dalla
|
||||
localizzazione.
|
||||
|
||||
@@ -795,7 +798,7 @@ Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_strcasestr (const char *string, const char *search);
|
||||
const char *weechat_strcasestr (const char *string, const char *search);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
@@ -805,13 +808,15 @@ Argomenti:
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* puntatore alla stringa trovata, o NULL se non trovata
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *pos = weechat_strcasestr ("aBcDeF", "de"); /* risultato: puntatore a "DeF" */
|
||||
const char *pos = weechat_strcasestr ("aBcDeF", "de"); /* risultato: puntatore a "DeF" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -955,6 +960,67 @@ free (str);
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== string_eval_path_home
|
||||
|
||||
_WeeChat ≥ 1.3._
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Evaluate a path in 3 steps:
|
||||
|
||||
. replace leading `%h` by WeeChat home directory,
|
||||
. replace leading `~` by user home directory (call to
|
||||
<<_string_expand_home,weechat_string_expand_home>>),
|
||||
. evaluate variables
|
||||
(see <<_string_eval_expression,weechat_string_eval_expression>>).
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_string_eval_path_home (const char *path,
|
||||
struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options);
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Argomenti:
|
||||
|
||||
* 'path': path
|
||||
* 'pointers': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'extra_vars': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'options': hashtable for call to function
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Valore restituito:
|
||||
|
||||
* evaluated path (must be freed by calling "free" after use)
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = weechat_string_expand_home ("%h/test");
|
||||
/* result: "/home/xxx/.weechat/test" */
|
||||
/* ... */
|
||||
free (str);
|
||||
----
|
||||
|
||||
Script (Python):
|
||||
|
||||
[source,python]
|
||||
----
|
||||
# prototipo
|
||||
path = weechat.string_eval_path_home(path, pointers, extra_vars, options)
|
||||
|
||||
# esempio
|
||||
path = weechat.string_eval_path_home("%h/test", "", "", "")
|
||||
# path == "/home/xxx/.weechat/test"
|
||||
----
|
||||
|
||||
==== string_remove_quotes
|
||||
|
||||
Rimuove le virgolette all'inizio e alla fine della stringa (ignora gli
|
||||
@@ -1906,7 +1972,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
|
||||
==== string_eval_expression
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_WeeChat ≥ 0.4.0, updated in 0.4.2 and 1.1._
|
||||
_WeeChat ≥ 0.4.0, updated in 0.4.2, 1.0, 1.1, 1.2 and 1.3._
|
||||
|
||||
// TRANSLATION MISSING
|
||||
Evaluate an expression and return result as a string.
|
||||
@@ -1964,13 +2030,21 @@ List of variables expanded in expression (by order of priority, from first
|
||||
expanded to last):
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[width="100%",cols="2,8,3,3",options="header"]
|
||||
[width="100%",cols="2,8,4,4",options="header"]
|
||||
|===
|
||||
| Format | Description | Examples | Results
|
||||
|
||||
| `${name}` | Variable `name` from hashtable 'extra_vars' |
|
||||
`${name}` | `value`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `${eval:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
String to evaluate |
|
||||
`${eval:${date:${weechat.look.buffer_time_format}}}` |
|
||||
`19:02:45` (with colors if there are color codes in the option
|
||||
weechat.look.buffer_time_format)
|
||||
|
||||
| `${esc:xxx}` +
|
||||
`${\xxx}` | String with escaped chars |
|
||||
`${esc:prefix\tmessage}` +
|
||||
@@ -2006,6 +2080,17 @@ expanded to last):
|
||||
`1.0` +
|
||||
`lightblue`
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| `${date}` +
|
||||
`${date:xxx}` +
|
||||
(_WeeChat ≥ 1.3_) |
|
||||
Current date/time, with custom format (see `man strftime`),
|
||||
default format is `%F %T` |
|
||||
`${date}` +
|
||||
`${date:%H:%M:%S}` |
|
||||
`2015-06-30 19:02:45` +
|
||||
`19:02:45`
|
||||
|
||||
| `${env:NAME}` +
|
||||
(_WeeChat ≥ 1.2_) |
|
||||
Value of the environment variable `NAME` |
|
||||
@@ -2207,13 +2292,17 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== utf8_prev_char
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_Updated in 1.3._
|
||||
|
||||
Restituisce il puntatore al carattere UTF-8 precedente in una stringa.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_prev_char (const char *string_start, const char *string);
|
||||
const char *weechat_utf8_prev_char (const char *string_start,
|
||||
const char *string);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
@@ -2224,14 +2313,16 @@ Argomenti:
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* puntatore al precedente carattere UTF-8, NULL se non trovata (raggiunta
|
||||
l'inizio della stringa)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
const char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2239,13 +2330,16 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== utf8_next_char
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_Updated in 1.3._
|
||||
|
||||
Restituisce il puntatore al successivo carattere UTF-8 in una stringa.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_next_char (const char *string);
|
||||
const char *weechat_utf8_next_char (const char *string);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
@@ -2254,14 +2348,16 @@ Argomenti:
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* puntatore al carattere UTF-8 successivo, NULL se non trovato
|
||||
(raggiunta la fine della stringa)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *next_char = weechat_utf8_next_char (string);
|
||||
const char *next_char = weechat_utf8_next_char (string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2519,13 +2615,16 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== utf8_add_offset
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_Updated in 1.3._
|
||||
|
||||
Si sposta in avanti di N caratteri in una stringa UTF-8.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
const char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
@@ -2535,14 +2634,16 @@ Argomenti:
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* puntatore alla stringa, N caratteri dopo (NULL se non raggiungibile)
|
||||
(_WeeChat ≥ 1.3_: pointer returned is a 'const char *' instead of 'char *')
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = "chêne";
|
||||
char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
const char *str = "chêne";
|
||||
const char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2959,21 +3060,29 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== util_get_time_string
|
||||
|
||||
_WeeChat ≥ 0.3.2._
|
||||
// TRANSLATION MISSING
|
||||
_WeeChat ≥ 0.3.2, updated in 1.3._
|
||||
|
||||
Riceve data/ora come stringa compilata con "strftime".
|
||||
// TRANSLATION MISSING
|
||||
Get date/time as a string built with "strftime" and the format defined in
|
||||
option 'weechat.look.time_format'.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_util_get_time_string (const time_t *date);
|
||||
const char *weechat_util_get_time_string (const time_t *date);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* 'date': puntatore alla data
|
||||
|
||||
Valore restituito:
|
||||
|
||||
// TRANSLATION MISSING
|
||||
* pointer to a string with date/time
|
||||
|
||||
Esempio in C:
|
||||
|
||||
[source,C]
|
||||
@@ -7282,6 +7391,9 @@ hook = weechat.hook_timer(20 * 1000, 0, 0, "my_timer_cb", "")
|
||||
|
||||
==== hook_fd
|
||||
|
||||
// TRANSLATION MISSING
|
||||
_Updated in 1.3._
|
||||
|
||||
Hook su un descrittore file (file oppure socket).
|
||||
|
||||
Prototipo:
|
||||
@@ -7302,7 +7414,9 @@ Argomenti:
|
||||
* 'fd': descrittore file
|
||||
* 'flag_read': 1 = cattura l'evento lettura (read), 0 = ignora
|
||||
* 'flag_write': 1 = cattura l'evento scrittura (write), 0 = ignora
|
||||
// TRANSLATION MISSING
|
||||
* 'flag_exception': 1 = cattura l'eccezione evento (event), 0 = ignora
|
||||
(_WeeChat ≥ 1.3_: this argument is ignored and not used any more)
|
||||
* 'callback': funzione che chiama un evento selezionato che si verifica
|
||||
per un file (o un socket), argomenti e valore restituito:
|
||||
** 'void *data': puntatore
|
||||
@@ -8625,6 +8739,12 @@ List of signals sent by WeeChat and plugins:
|
||||
String: argomenti per /quit |
|
||||
Comando `/quit` digitato dall'utente
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| weechat | signal_sighup +
|
||||
_(WeeChat ≥ 1.3)_ |
|
||||
- |
|
||||
Signal SIGHUP received
|
||||
|
||||
// TRANSLATION MISSING
|
||||
| weechat | signal_sigquit +
|
||||
_(WeeChat ≥ 1.2)_ |
|
||||
@@ -13237,23 +13357,37 @@ hashtable_in = weechat_hashtable_new (8,
|
||||
NULL);
|
||||
if (hashtable_in)
|
||||
{
|
||||
weechat_hashtable_set (hashtable_in, "message",
|
||||
":nick!user@host PRIVMSG #weechat :message here");
|
||||
weechat_hashtable_set (
|
||||
hashtable_in,
|
||||
"message",
|
||||
"@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!");
|
||||
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
|
||||
hashtable_in);
|
||||
/*
|
||||
* now hashtable_out has following keys/values:
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments": "#weechat :message here"
|
||||
* "tags" : "time=2015-06-27T16:40:35.000Z"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments" : "#weechat :hello!"
|
||||
* "text" : "hello!"
|
||||
* "pos_command" : "47"
|
||||
* "pos_arguments" : "55"
|
||||
* "pos_channel" : "55"
|
||||
* "pos_text" : "65"
|
||||
*/
|
||||
weechat_hashtable_free (hashtable_in);
|
||||
weechat_hashtable_free (hashtable_out);
|
||||
}
|
||||
----
|
||||
|
||||
// TRANSLATION MISSING
|
||||
[NOTE]
|
||||
See the 'WeeChat Scripting Guide' for more info about "irc_message_parse"
|
||||
output.
|
||||
|
||||
Script (Python):
|
||||
|
||||
[source,python]
|
||||
|
||||
@@ -100,8 +100,9 @@ Tutti i protocolli di rete come IRC sono forniti in plugin separati.
|
||||
Utilizzando il comando `plugin` per elencare i plugin caricati, è possibile
|
||||
vedere "irc" ed altri plugin nella lista.
|
||||
|
||||
[[create_irc_server]]
|
||||
== Creare un server IRC
|
||||
// TRANSLATION MISSING
|
||||
[[add_irc_server]]
|
||||
== Add an IRC server
|
||||
|
||||
// TRANSLATION MISSING
|
||||
You can add an IRC server with `/server` command, for example:
|
||||
|
||||
@@ -406,7 +406,7 @@ Elenco di funzioni nelle API per gli script:
|
||||
charset_set, iconv_to_internal, iconv_from_internal, gettext, ngettext, +
|
||||
strlen_screen, string_match, string_has_highlight, string_has_highlight_regex,
|
||||
string_mask_to_regex, string_remove_color, string_is_command_char,
|
||||
string_input_for_buffer, string_eval_expression
|
||||
string_input_for_buffer, string_eval_expression, string_eval_path_home
|
||||
| directory |
|
||||
mkdir_home, mkdir, mkdir_parents
|
||||
| liste ordinate |
|
||||
@@ -927,14 +927,84 @@ _Novità nella versione 0.3.4._
|
||||
È possibile verificare un messaggio irc con una info_hashtable chiamata
|
||||
"irc_message_parse".
|
||||
|
||||
// TRANSLATION MISSING
|
||||
The result is a hashtable with following keys
|
||||
(the example values are built with this message:
|
||||
`@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!`):
|
||||
|
||||
[width="100%",cols="1,^2,10,8",options="header"]
|
||||
|===
|
||||
| Key | WeeChat version | Description | Example
|
||||
|
||||
| tags | ≥ 0.4.0 |
|
||||
The tags in message (can be empty) |
|
||||
`time=2015-06-27T16:40:35.000Z`
|
||||
|
||||
| message_without_tags | ≥ 0.4.0 |
|
||||
The message without the tags (the same as message if there are no tags) |
|
||||
`:nick!user@host PRIVMSG #weechat :hello!`
|
||||
|
||||
| nick | ≥ 0.3.4 |
|
||||
The origin nick |
|
||||
`nick`
|
||||
|
||||
| host | ≥ 0.3.4 |
|
||||
The origin host (includes the nick) |
|
||||
`nick!user@host`
|
||||
|
||||
| command | ≥ 0.3.4 |
|
||||
The command ('PRIVMSG', 'NOTICE', ...) |
|
||||
`PRIVMSG`
|
||||
|
||||
| channel | ≥ 0.3.4 |
|
||||
The target channel |
|
||||
`#weechat`
|
||||
|
||||
| arguments | ≥ 0.3.4 |
|
||||
The command arguments (includes the channel) |
|
||||
`#weechat :hello!`
|
||||
|
||||
| text | ≥ 1.3 |
|
||||
The text (for example user message) |
|
||||
`hello!`
|
||||
|
||||
| pos_command | ≥ 1.3 |
|
||||
The index of 'command' in message ("-1" if 'command' was not found) |
|
||||
`47`
|
||||
|
||||
| pos_arguments | ≥ 1.3 |
|
||||
The index of 'arguments' in message ("-1" if 'arguments' was not found) |
|
||||
`55`
|
||||
|
||||
| pos_channel | ≥ 1.3 |
|
||||
The index of 'channel' in message ("-1" if 'channel' was not found) |
|
||||
`55`
|
||||
|
||||
| pos_text | ≥ 1.3 |
|
||||
The index of 'text' in message ("-1" if 'text' was not found) |
|
||||
`65`
|
||||
|===
|
||||
|
||||
[source,python]
|
||||
----
|
||||
dict = weechat.info_get_hashtable("irc_message_parse",
|
||||
{"message": ":nick!user@host PRIVMSG #weechat :message here"})
|
||||
weechat.prnt("", "dict: %s" % dict)
|
||||
dict = weechat.info_get_hashtable(
|
||||
"irc_message_parse",
|
||||
{"message": "@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!"})
|
||||
|
||||
# output:
|
||||
# dict: {'nick': 'nick', 'host': 'nick!user@host', 'command': 'PRIVMSG', 'arguments': '#weechat :message here', 'channel': '#weechat'}
|
||||
# dict == {
|
||||
# "tags": "time=2015-06-27T16:40:35.000Z",
|
||||
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
|
||||
# "nick": "nick",
|
||||
# "host": "nick!user@host",
|
||||
# "command": "PRIVMSG",
|
||||
# "channel": "#weechat",
|
||||
# "arguments": "#weechat :hello!",
|
||||
# "text": "hello!",
|
||||
# "pos_command": "47",
|
||||
# "pos_arguments": "55",
|
||||
# "pos_channel": "55",
|
||||
# "pos_text": "65",
|
||||
# }
|
||||
----
|
||||
|
||||
[[infos]]
|
||||
|
||||
@@ -96,7 +96,7 @@ Per compilare i sorgenti, si raccomanda cmake:
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/weechat-git -DWEECHAT_HOME=~/.weechat-dev -DCMAKE_BUILD_TYPE=Debug
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
|
||||
@@ -41,6 +41,8 @@ Le principali caratteristiche:
|
||||
http://tools.ietf.org/html/rfc2811[2811],
|
||||
http://tools.ietf.org/html/rfc2812[2812] e
|
||||
http://tools.ietf.org/html/rfc2813[2813]
|
||||
// TRANSLATION MISSING
|
||||
* IRC proxy and relay for remote interfaces
|
||||
* multi-piattaforma (GNU/Linux, *BSD, MacOS X, Windows ed altre)
|
||||
* 100% GPL, software libero
|
||||
|
||||
@@ -74,6 +76,8 @@ I pacchetti binari sono disponibili per molte distribuzioni, incluse:
|
||||
* Arch Linux: `pacman -S weechat`
|
||||
* Fedora Core: `yum install weechat`
|
||||
* Sourcemage: `cast weechat`
|
||||
// TRANSLATION MISSING
|
||||
* Cygwin (Windows): select WeeChat packages in setup.exe
|
||||
|
||||
Potrebbero risultare utili alcuni pacchetti addizionali, come
|
||||
weechat-plugins.
|
||||
@@ -208,7 +212,7 @@ $ make
|
||||
----
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake .. -DPREFIX=/path/della/directory
|
||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/della/directory
|
||||
$ make
|
||||
$ make install
|
||||
----
|
||||
@@ -228,7 +232,7 @@ List of commonly used options:
|
||||
The type of build: `Debug` (or `RelWithDebInfo`) is recommended if you are
|
||||
running development version of WeeChat.
|
||||
|
||||
| PREFIX | directory | /usr/local |
|
||||
| CMAKE_INSTALL_PREFIX | directory | /usr/local |
|
||||
The directory where WeeChat will be installed.
|
||||
|
||||
| WEECHAT_HOME | directory | ~/.weechat |
|
||||
@@ -1147,7 +1151,7 @@ Il livello di notifica per un buffer può essere impostato con il comando `/buff
|
||||
| key[Backsp.] .2+| Elimina il carattere precedente nella riga di comando .2+| `/input delete_previous_char`
|
||||
| key[ctrl-h]
|
||||
| key[ctrl-k] | Elimina dal cursore fino alla fine della riga di comando (la stringa eliminata viene copiata negli appunti) | `/input delete_end_of_line`
|
||||
| key[ctrl-r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>) | `/input search_text`
|
||||
| key[ctrl-r] | Cerca del testo nella cronologia del buffer (consultare <<key_bindings_search_context,tasti per il contesto search>>) | `/input search_text_here`
|
||||
| key[ctrl-t] | Inverti caratteri | `/input transpose_chars`
|
||||
| key[ctrl-u] | Elimina dal cursore fino all'inizio della riga di comando (la stringa eliminata viene copiata negli appunti) | `/input delete_beginning_of_line`
|
||||
| key[ctrl-w] | Elimina la parola precedente nella riga di comando (la stringa eliminata viene copiata negli appunti) | `/input delete_previous_word`
|
||||
@@ -1210,7 +1214,7 @@ Il livello di notifica per un buffer può essere impostato con il comando `/buff
|
||||
| key[alt-j,alt-r] | Passa al buffer raw IRC | `/server raw`
|
||||
| key[alt-j,alt-s] | Passa al buffer server IRC | `/server jump`
|
||||
| key[alt-0...9] | Passa al buffer numero (0 = 10) | `/buffer *N`
|
||||
| key[alt-j,01...99] | Passa al buffer numero | `/buffer NN`
|
||||
| key[alt-j,01...99] | Passa al buffer numero | `/buffer *NN`
|
||||
// TRANSLATION MISSING
|
||||
| key[alt-l] | Toggle bare display on/off | `/window bare`
|
||||
| key[alt-m] | Abilita/disabilita | `/mouse toggle`
|
||||
@@ -1248,9 +1252,12 @@ key[ctrl-r] per cercare del testo nel buffer).
|
||||
| key[Tab] | Switch search in: messages (default), prefixes, prefixes + messages | `/input search_switch_where`
|
||||
| key[↑] | Cerca riga precedente | `/input search_previous`
|
||||
| key[↓] | Cerca riga successiva | `/input search_next`
|
||||
| key[Invio] .3+| Ferma ricerca .3+| `/input search_stop`
|
||||
// TRANSLATION MISSING
|
||||
| key[Enter] .3+| Stop search at current position .3+| `/input search_stop_here`
|
||||
| key[ctrl-j]
|
||||
| key[ctrl-m]
|
||||
// TRANSLATION MISSING
|
||||
| key[ctrl-q] | Stop search and scroll to bottom of buffer | `/input search_stop`
|
||||
|===
|
||||
|
||||
[[key_bindings_cursor_context]]
|
||||
@@ -2290,7 +2297,8 @@ $ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
|
||||
|
||||
Nota: è possibile concatenare più certificati nel file CAs.pem.
|
||||
|
||||
* In WeeChat, con il server "otfc" già creato:
|
||||
// TRANSLATION MISSING
|
||||
* In WeeChat, with "oftc" server already added:
|
||||
|
||||
----
|
||||
/connect oftc
|
||||
@@ -2307,7 +2315,8 @@ $ cd ~/.weechat/ssl
|
||||
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
|
||||
----
|
||||
|
||||
* In WeeChat, con il server "otfc" già creato:
|
||||
// TRANSLATION MISSING
|
||||
* In WeeChat, with "oftc" server already added:
|
||||
|
||||
----
|
||||
/set irc.server.oftc.ssl_cert "%h/ssl/nick.pem"
|
||||
@@ -2413,7 +2422,8 @@ host/IP e porta dipendono dalla propria configurazione di TOR):
|
||||
/proxy add tor socks5 127.0.0.1 9050
|
||||
----
|
||||
|
||||
Ora, bisogna creare un nuovo server, ad esempio:
|
||||
// TRANSLATION MISSING
|
||||
Now, add a new server, for example:
|
||||
|
||||
----
|
||||
/server add freenode-tor p4fsi4ockecnea7l.onion
|
||||
@@ -3392,8 +3402,24 @@ is added in hashtable:
|
||||
| command | string | IRC command (example: "PRIVMSG", "NOTICE", ...)
|
||||
| channel | string | IRC channel
|
||||
| arguments | string | Arguments of command (includes value of 'channel')
|
||||
| text | string | Text (for example user message)
|
||||
// TRANSLATION MISSING
|
||||
| pos_command | string | The index of 'command' in message ("-1" if 'command' was not found)
|
||||
// TRANSLATION MISSING
|
||||
| pos_arguments | string | The index of 'arguments' in message ("-1" if 'arguments' was not found)
|
||||
// TRANSLATION MISSING
|
||||
| pos_channel | string | The index of 'channel' in message ("-1" if 'channel' was not found)
|
||||
// TRANSLATION MISSING
|
||||
| pos_text | string | The index of 'text' in message ("-1" if 'text' was not found)
|
||||
|===
|
||||
|
||||
When the data is a pointer, the variable `tg_signal_data` can be used like this
|
||||
to read a hdata property (in this example this is a pointer on a buffer):
|
||||
|
||||
----
|
||||
${buffer[${tg_signal_data}].full_name}
|
||||
----
|
||||
|
||||
[[trigger_data_hsignal]]
|
||||
===== Hsignal
|
||||
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
|
||||
| weechat | buffers_plugins_names | バッファの名前 (プラグインの名前を含めた)
|
||||
|
||||
| weechat | colors | color names
|
||||
|
||||
| weechat | commands | コマンド (weechat とプラグイン)
|
||||
|
||||
| weechat | config_files | 設定ファイル
|
||||
|
||||
@@ -200,6 +200,7 @@
|
||||
*** 'away_message' (string)
|
||||
*** 'away_time' (time)
|
||||
*** 'lag' (integer)
|
||||
*** 'lag_displayed' (integer)
|
||||
*** 'lag_check_time' (other)
|
||||
*** 'lag_next_check' (time)
|
||||
*** 'lag_last_refresh' (time)
|
||||
@@ -942,6 +943,7 @@
|
||||
*** 'scrolling' (integer)
|
||||
*** 'start_col' (integer)
|
||||
*** 'lines_after' (integer)
|
||||
*** 'text_search_start_line' (pointer, hdata: "line")
|
||||
*** 'prev_scroll' (pointer, hdata: "window_scroll")
|
||||
*** 'next_scroll' (pointer, hdata: "window_scroll")
|
||||
* 'window_tree': ウィンドウツリー
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|===
|
||||
| プラグイン | 名前 | 説明 | ハッシュテーブル (入力) | ハッシュテーブル (出力)
|
||||
|
||||
| irc | irc_message_parse | IRC メッセージを解析 | "message": IRC メッセージ、"server": サーバ名 (任意) | "tags": タグ、"message_without_tags": タグを含まないメッセージ、"nick": ニックネーム、"host": ホスト名、"command": コマンド、"channel": チャンネル、"arguments": 引数 (チャンネルを含む)
|
||||
| irc | irc_message_parse | IRC メッセージを解析 | "message": IRC メッセージ、"server": サーバ名 (任意) | "tags": tags, "message_without_tags": message without the tags, "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel), "text": text (for example user message), "pos_command": index of "command" message ("-1" if "command" was not found), "pos_arguments": index of "arguments" message ("-1" if "arguments" was not found), "pos_channel": index of "channel" message ("-1" if "channel" was not found), "pos_text": index of "text" message ("-1" if "text" was not found)
|
||||
|
||||
| irc | irc_message_split | IRC メッセージを分割 (512 バイトに収める) | "message": IRC メッセージ、"server": サーバ名 (任意) | "msg1" ... "msgN": 送信メッセージ (最後の "\r\n" は無し), "args1" ... "argsN": メッセージの引数、"count": メッセージの数
|
||||
|
||||
|
||||
@@ -3,19 +3,24 @@
|
||||
// DO NOT EDIT BY HAND!
|
||||
//
|
||||
[[command_alias_alias]]
|
||||
[command]*`alias`* コマンドの別名を作成::
|
||||
[command]*`alias`* 別名コマンドのリストアップ、追加、削除::
|
||||
|
||||
----
|
||||
/alias [-completion <completion>] <alias> [<command> [;<command>...]]
|
||||
/alias list [<alias>]
|
||||
add <alias> [<command>[;<command>...]]
|
||||
addcompletion <completion> <alias> [<command>[;<command>...]]
|
||||
del <alias> [<alias>...]
|
||||
|
||||
completion: 別名の補完 (任意、デフォルトではターゲットコマンドを伴って補完されます)
|
||||
注意: %%command で存在するコマンドの補完を利用可能です
|
||||
alias: 別名の名前 (ワイルドカード "*" を使うことができます)
|
||||
command: 引数を含めたコマンド名 (セミコロンで分割すれば複数のコマンドを指定できます)
|
||||
list: 別名をリストアップ (引数を与えなかった場合、このリストが表示されます)
|
||||
add: 別名を追加
|
||||
addcompletion: カスタム補完を指定して別名を追加
|
||||
del: 別名を削除
|
||||
completion: 別名の補完: デフォルトでは対象のコマンドに対する補完が行われます
|
||||
注意: %%command で既存のコマンドに対する補完を利用可能です
|
||||
alias: 別名の名前
|
||||
command: 引数を含めたコマンド名 (セミコロンで分割すれば複数のコマンドを指定できます)
|
||||
|
||||
引数無しでは、定義済み別名をリストアップ。
|
||||
|
||||
注意: command の中では、特殊変数の置換が行われる:
|
||||
注意: command の中に含まれる特殊変数は置換されます:
|
||||
$n: 'n' 番目の引数 (1 から 9)
|
||||
$-m: 1 から 'm' 番目の引数
|
||||
$n-: 'n' 番目から最後の引数
|
||||
@@ -25,14 +30,12 @@ completion: 別名の補完 (任意、デフォルトではターゲットコマ
|
||||
$var: ここで "var" とはバッファの局所変数 (/buffer localvar を参照)
|
||||
例: $nick、$channel、$server、$plugin、$name
|
||||
|
||||
別名を削除するには /unalias コマンドを使ってください:
|
||||
|
||||
例:
|
||||
/split をウィンドウを水平方向に分割する別名と定義:
|
||||
/alias split /window splith
|
||||
/alias add split /window splith
|
||||
/hello を #weechat を除く全てのチャンネルで "hello" と発言する別名と定義:
|
||||
/alias hello /allchan -exclude=#weechat msg * hello
|
||||
/alias add hello /allchan -exclude=#weechat msg * hello
|
||||
/forcejoin を /sajoin の補完候補を使い IRC コマンド "forcejoin" を送信する別名と定義:
|
||||
/alias -completion %%sajoin forcejoin /quote forcejoin
|
||||
/alias addcompletion %%sajoin forcejoin /quote forcejoin
|
||||
----
|
||||
|
||||
|
||||
@@ -92,10 +92,10 @@ channel: チャンネル名
|
||||
-all|-auto|-open [-nojoin] [-switch]
|
||||
|
||||
server: サーバ名、これは:
|
||||
- 内部サーバ名 (/server add で作成されたもの、利用推奨)
|
||||
- 内部サーバ名 (/server add で追加されたもの、利用推奨)
|
||||
- ホスト名/ポート番号又は IP アドレス/ポート番号、デフォルトのポート番号は 6667
|
||||
- 次のフォーマットに従う URL: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
|
||||
注意: アドレス/IP/URL を指定した場合、サーバを一時的に作ります (保存しません)、/help irc.look.temporary_servers を参照してください。
|
||||
注意: アドレス/IP/URL を指定した場合、サーバを一時的に追加します (保存しません)、/help irc.look.temporary_servers を参照してください。
|
||||
option: サーバに関するオプション (ブール型オプションでは、value は無視される)
|
||||
nooption: ブール型オプションを 'off' にする (例: -nossl)
|
||||
-all: 設定された全てのサーバに接続
|
||||
@@ -686,10 +686,10 @@ reason: 理由
|
||||
|
||||
list: サーバをリストアップ (引数無しでは、リストが表示される)
|
||||
listfull: 詳細情報を含めてサーバをリストアップ
|
||||
add: 新しいサーバを作成
|
||||
add: 新しいサーバを追加
|
||||
server: サーバ名、内部的な利用と表示に利用
|
||||
hostname: サーバのホスト名か IP アドレス、ポート番号は任意 (デフォルト: 6667)、複数のアドレスはコンマで区切る
|
||||
temp: 一時的なサーバを作成 (保存されない)
|
||||
temp: 一時的なサーバを追加 (保存されない)
|
||||
option: サーバのオプションを設定 (ブールオプションでは値が無視される)
|
||||
nooption: ブールオプションを 'off' に設定 (例: -nossl)
|
||||
copy: サーバを複製
|
||||
|
||||
@@ -62,13 +62,18 @@
|
||||
** タイプ: 色
|
||||
** 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、ターミナル色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_" (デフォルト値: `default`)
|
||||
|
||||
* [[option_irc.color.topic_current]] *irc.color.topic_current*
|
||||
** 説明: `現在のチャンネルトピックの色 (チャンネルに参加または /topic を使ったときに使われます)`
|
||||
** タイプ: 色
|
||||
** 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、ターミナル色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_" (デフォルト値: `default`)
|
||||
|
||||
* [[option_irc.color.topic_new]] *irc.color.topic_new*
|
||||
** 説明: `新しいチャンネルトピックの色 (トピックが変更されたとき)`
|
||||
** 説明: `新しいチャンネルトピックの色 (トピックが変更されたときに使われます)`
|
||||
** タイプ: 色
|
||||
** 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、ターミナル色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_" (デフォルト値: `white`)
|
||||
|
||||
* [[option_irc.color.topic_old]] *irc.color.topic_old*
|
||||
** 説明: `古いチャンネルトピックの色 (トピックが変更されたとき)`
|
||||
** 説明: `古いチャンネルトピックの色 (トピックが変更されたときに使われます)`
|
||||
** タイプ: 色
|
||||
** 値: WeeChat の色名 (default、black、(dark)gray、white、(light)red、(light)green、brown、yellow、(light)blue、(light)magenta、(light)cyan) 、ターミナル色番号またはその別名; 色の前に属性を置くことができます (テキスト前景色のみ、背景色は出来ません): 太字は "*"、反転は "!"、イタリックは "/"、下線は "_" (デフォルト値: `default`)
|
||||
|
||||
@@ -358,7 +363,7 @@
|
||||
** 値: on, off (デフォルト値: `on`)
|
||||
|
||||
* [[option_irc.look.temporary_servers]] *irc.look.temporary_servers*
|
||||
** 説明: `/connect コマンドによるサーバの一時的な作成を有効化する`
|
||||
** 説明: `/connect コマンドによる一時的なサーバの自動追加を有効化する`
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `off`)
|
||||
|
||||
@@ -387,6 +392,11 @@
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"*!$ident@$host"`)
|
||||
|
||||
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
|
||||
** 説明: `decode/encode channel name inside messages using charset options; it is recommended to keep that off if you use only UTF-8 in channel names; you can enable this option if you are using an exotic charset like ISO in channel names`
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `off`)
|
||||
|
||||
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
|
||||
** 説明: `オフの場合、到着メッセージに含まれる色コードを無視`
|
||||
** タイプ: ブール
|
||||
@@ -543,7 +553,7 @@
|
||||
** 値: 未制約文字列 (デフォルト値: `""`)
|
||||
|
||||
* [[option_irc.server_default.nicks]] *irc.server_default.nicks*
|
||||
** 説明: `サーバで使用するニックネーム (コンマ区切り)`
|
||||
** 説明: `サーバで使用するニックネーム (コンマ区切り) (注意: 値は評価されます、/help eval を参照してください)`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `""`)
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
** 値: 未制約文字列 (デフォルト値: `""`)
|
||||
|
||||
* [[option_logger.file.path]] *logger.file.path*
|
||||
** 説明: `WeeChat ログファイルのパス; 文字列最初の "%h" は WeeChat ホーム (デフォルトでは "~/.weechat") に置換; 日付指定子を使える (strftime の man を参照)`
|
||||
** 説明: `WeeChat ログファイルのパス; 文字列最初の "%h" は WeeChat ホーム (デフォルトでは "~/.weechat") に置換; 日付指定子を使える (strftime の man を参照) (注意: 内容は評価されます、/help eval 参照)`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"%h/logs/"`)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@
|
||||
** タイプ: 整数
|
||||
** 値: -1 .. 525600 (デフォルト値: `1440`)
|
||||
|
||||
* [[option_script.scripts.dir]] *script.scripts.dir*
|
||||
** 説明: `スクリプトのローカルキャッシュディレクトリ`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.hold]] *script.scripts.hold*
|
||||
** 説明: `"ホールド" するスクリプト: コンマ区切りのスクリプトリスト、このリストに含まれるスクリプトはアップグレードされませんし、削除もされません、例: "buffers.pl,iset.pl"`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `""`)
|
||||
|
||||
* [[option_script.scripts.path]] *script.scripts.path*
|
||||
** 説明: `スクリプト用のローカルキャッシュディレクトリ; 文字列最初の "%h" は WeeChat ホーム (デフォルトでは "~/.weechat") に置換されます (注意: 内容は評価されます、/help eval 参照)`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"%h/script"`)
|
||||
|
||||
* [[option_script.scripts.url]] *script.scripts.url*
|
||||
** 説明: `スクリプトのリストを含むファイルの URL; デフォルトは強制的に HTTPS を使用、オプション script.scripts.url_force_https を参照`
|
||||
** タイプ: 文字列
|
||||
|
||||
@@ -276,19 +276,23 @@ expression: 評価する式、フォーマット、${variable} 型のフォー
|
||||
"50" > "100" ==> 1
|
||||
|
||||
式中の ${variable} 型のフォーマットの変数は置換されます。変数は以下の優先順位に従います:
|
||||
1. エスケープ文字を含む文字列 (フォーマット: "esc:xxx" または "\xxx")
|
||||
2. 隠す文字を含む文字列 (フォーマット: "hide:char,string")
|
||||
3. 色 (フォーマット: "color:xxx")
|
||||
4. 情報 (フォーマット: "info:name,arguments"、arguments は任意)
|
||||
5. 環境変数 (フォーマット: "env:XXX")
|
||||
6. オプション (フォーマット: "file.section.option")
|
||||
7. バッファのローカル変数
|
||||
8. hdata の名前/変数 (値は自動的に文字列に変換されます)、デフォルトでは "window" と "buffer" は現在のウィンドウ/バッファを指します。
|
||||
1. 評価済みのサブ文字列 (フォーマット: "eval:xxx")
|
||||
2. エスケープ文字を含む文字列 (フォーマット: "esc:xxx" または "\xxx")
|
||||
3. 隠す文字を含む文字列 (フォーマット: "hide:char,string")
|
||||
4. 色 (フォーマット: "color:xxx")
|
||||
5. 情報 (フォーマット: "info:name,arguments"、arguments は任意)
|
||||
6. 現在の日付/時刻 (フォーマット: "date" または "date:format")
|
||||
7. 環境変数 (フォーマット: "env:XXX")
|
||||
8. オプション (フォーマット: "file.section.option")
|
||||
9. バッファのローカル変数
|
||||
10. hdata の名前/変数 (値は自動的に文字列に変換されます)、デフォルトでは "window" と "buffer" は現在のウィンドウ/バッファを指します。
|
||||
hdata のフォーマットは以下の 1 つです:
|
||||
hdata.var1.var2...: hdata (ポインタは既知) で始まり、1 個ずつ変数を続ける (他の hdata を続けることも可能)
|
||||
hdata(list).var1.var2...: リストを使って hdata を始める、例:
|
||||
hdata.var1.var2...: hdata (ポインタは既知) で開始し、1 個ずつ変数を続ける (他の hdata を続けることも可能)
|
||||
hdata(list).var1.var2...: リストを使う hdata で開始する、例:
|
||||
${buffer[gui_buffers].full_name}: バッファリストにリンクされた最初のバッファのフルネーム
|
||||
${plugin[weechat_plugins].name}: プラグインリストにリンクされた最初のプラグインの名前
|
||||
hdata[pointer].var1.var2...: ポインタを使う hdata で開始する、例:
|
||||
${buffer[0x1234abcd].full_name}: 与えたポインタを持つバッファの完全な名前 (トリガ中で使うことが可能です)
|
||||
hdata と変数の名前については、"プラグイン API リファレンス" の "weechat_hdata_get" 関数を参照してください。
|
||||
|
||||
例 (単純な文字列):
|
||||
@@ -301,6 +305,7 @@ hdata と変数の名前については、"プラグイン API リファレン
|
||||
/eval -n ${window.buffer.number} ==> 1
|
||||
/eval -n ${\t} ==> <tab>
|
||||
/eval -n ${hide:-,${relay.network.password}} ==> --------
|
||||
/eval -n ${date:%H:%M:%S} ==> 07:46:40
|
||||
|
||||
例 (条件):
|
||||
/eval -n -c ${window.buffer.number} > 2 ==> 0
|
||||
@@ -413,12 +418,14 @@ value: 表示する履歴エントリの数
|
||||
return: "enter" キーをシミュレート
|
||||
complete_next: 次の補完候補で単語を補完
|
||||
complete_previous: 一つ前の補完候補で単語を補完
|
||||
search_text_here: 現在の位置でテキストを検索
|
||||
search_text: バッファ内のテキストを検索
|
||||
search_switch_case: 完全一致検索に変更
|
||||
search_switch_regex: 検索タイプの切り替え: 文字列/正規表現
|
||||
search_switch_where: 検索範囲の切り替え: メッセージ/プレフィックス
|
||||
search_previous: 一つ前の行を検索
|
||||
search_next: 次の行を検索
|
||||
search_stop_here: 現在の位置で検索を終了
|
||||
search_stop: 検索を終了
|
||||
delete_previous_char: 一つ前の文字を削除
|
||||
delete_next_char: 次の文字を削除
|
||||
@@ -674,12 +681,12 @@ password: パスワード (任意)
|
||||
value: オプションに設定する新しい値
|
||||
|
||||
例:
|
||||
ローカルホストの 8888 番ポートで動いている http プロキシを作成:
|
||||
ローカルホストの 8888 番ポートで動いている http プロキシを追加:
|
||||
/proxy add local http 127.0.0.1 8888
|
||||
IPv6 プロトコルを使う http プロキシを作成:
|
||||
IPv6 プロトコルを使う http プロキシを追加:
|
||||
/proxy add local http ::1 8888
|
||||
/proxy set local ipv6 on
|
||||
ユーザ名とパスワードが必要な socks5 プロキシを作成:
|
||||
ユーザ名とパスワードが必要な socks5 プロキシを追加:
|
||||
/proxy add myproxy socks5 sample.host.org 3128 myuser mypass
|
||||
プロキシを削除:
|
||||
/proxy del myproxy
|
||||
@@ -757,12 +764,10 @@ passphrase: パスフレーズを変更 (パスフレーズがない場合、sec
|
||||
環境変数 "WEECHAT_PASSPHRASE" を利用すれば入力を回避できます (WeeChat は /upgrade の時に同じ変数を利用します)。
|
||||
|
||||
${sec.data.xxx} の形でフォーマットされた保護データは以下の様に利用できます:
|
||||
- /eval コマンド
|
||||
- コマンドライン引数 "--run-command"
|
||||
- weechat.startup.command_{before|after}_plugins オプション
|
||||
- プロキシオプション: username、password
|
||||
- irc サーバオプション: autojoin、command、password、sasl_{username|password}、username、realname
|
||||
- relay.network.password オプション
|
||||
- /eval コマンド。
|
||||
- パスワードや機密データを含むと思われるその他のオプション (例えば、プロキシ、irc サーバ、リレー); 保護データが評価されるかを確認するには各オプションの /help を御覧ください。
|
||||
|
||||
例:
|
||||
パスフレーズを設定:
|
||||
@@ -774,7 +779,7 @@ ${sec.data.xxx} の形でフォーマットされた保護データは以下の
|
||||
/secure set oftc mypassword
|
||||
/set irc.server.oftc.command "/msg nickserv identify ${sec.data.oftc}"
|
||||
ニックネーム "mynick" を取り戻すためのエイリアス ghost を設定
|
||||
/alias ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
/alias add ghost /eval /msg -server freenode nickserv ghost mynick ${sec.data.freenode}
|
||||
----
|
||||
|
||||
[[command_weechat_set]]
|
||||
@@ -836,8 +841,9 @@ option: オプションの名前
|
||||
[command]*`upgrade`* サーバとの接続を維持して WeeChat をアップグレード::
|
||||
|
||||
----
|
||||
/upgrade [<path_to_binary>|-quit]
|
||||
/upgrade [-yes] [<path_to_binary>|-quit]
|
||||
|
||||
-yes: weechat.look.confirm_upgrade オプションが有効化されていた場合、このオプションは必須です。
|
||||
path_to_binary: WeeChat バイナリへのパス (デフォルトは現在のバイナリ)
|
||||
-dummy: 何もしない (補完された "-quit" オプションを不用意に使わないためのオプション)
|
||||
-quit: *すべての*接続を閉じ、セッションを保存して WeeChat を終了。遅延復帰 (詳しくは後述) が可能になります。
|
||||
@@ -927,7 +933,7 @@ command: 実行するコマンド (コマンドが '/' で始まらない場合
|
||||
scroll_horiz [-window <number>] [+/-]<value>[%]
|
||||
scroll_up|scroll_down|scroll_top|scroll_bottom|scroll_beyond_end|scroll_previous_highlight|scroll_next_highlight|scroll_unread [-window <number>]
|
||||
swap [-window <number>] [up|down|left|right]
|
||||
zoom[-window <number>]
|
||||
zoom [-window <number>]
|
||||
bare [<delay>]
|
||||
|
||||
list: 開けられたウィンドウのリストアップ (引数無しの場合、このリストが表示されます)
|
||||
|
||||
@@ -533,12 +533,17 @@
|
||||
** 値: 未制約文字列 (デフォルト値: `""`)
|
||||
|
||||
* [[option_weechat.look.command_incomplete]] *weechat.look.command_incomplete*
|
||||
** 説明: `セットされた場合、不完全なコマンドと完全なコマンドを両方使えるようになります、例えば /he は /help の意味で使うことができます`
|
||||
** 説明: `これを設定した場合、不完全なコマンドと完全なコマンドを両方使えるようになります、例えば /he は /help の意味で使うことができます`
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_quit]] *weechat.look.confirm_quit*
|
||||
** 説明: `セットされた場合、/quit コマンドは "-yes" 引数と共に使われなければいけない (help quit を参照)`
|
||||
** 説明: `これを設定した場合、/quit コマンド使う際には必ず "-yes" 引数と共に使う必要があります (help quit 参照)`
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `off`)
|
||||
|
||||
* [[option_weechat.look.confirm_upgrade]] *weechat.look.confirm_upgrade*
|
||||
** 説明: `これを設定した場合、/upgrade コマンド使う際には必ず "-yes" 引数と共に使う必要があります (help upgrade 参照)`
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `off`)
|
||||
|
||||
@@ -712,6 +717,11 @@
|
||||
** タイプ: ブール
|
||||
** 値: on, off (デフォルト値: `on`)
|
||||
|
||||
* [[option_weechat.look.key_grab_delay]] *weechat.look.key_grab_delay*
|
||||
** 説明: `キーを横取りするためのデフォルト遅延時間 (ミリ秒単位) (デフォルトキー alt-k を使います); /input コマンドではこの遅延時間を無視します (/help input 参照)`
|
||||
** タイプ: 整数
|
||||
** 値: 1 .. 10000 (デフォルト値: `800`)
|
||||
|
||||
* [[option_weechat.look.mouse]] *weechat.look.mouse*
|
||||
** 説明: `マウスサポートの有効化`
|
||||
** タイプ: ブール
|
||||
|
||||
@@ -83,12 +83,12 @@
|
||||
** 値: on, off (デフォルト値: `on`)
|
||||
|
||||
* [[option_xfer.file.download_path]] *xfer.file.download_path*
|
||||
** 説明: `受信ファイルを書き込むパス ("%h" は WeeChat ホームに置換されます、デフォルトは "~/.weechat")`
|
||||
** 説明: `受信ファイルのパス; 文字列最初の "%h" は WeeChat ホーム (デフォルトでは "~/.weechat") に置換されます (注意: 内容は評価されます、/help eval 参照)`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"%h/xfer"`)
|
||||
|
||||
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
|
||||
** 説明: `ファイル送信の際に読み込むファイルのパス (ユーザがパスを指定しなかった場合) ("%h" は WeeChat ホームに置換されます、デフォルトは "~/.weechat")`
|
||||
** 説明: `送信時に読み込むファイルのパス (ユーザがパスを指定しなかった場合に使われます); 文字列最初の "%h" は WeeChat ホーム (デフォルトでは "~/.weechat") に置換されます (注意: 内容は評価されます、/help eval 参照)`
|
||||
** タイプ: 文字列
|
||||
** 値: 未制約文字列 (デフォルト値: `"~"`)
|
||||
|
||||
|
||||
@@ -26,23 +26,36 @@ WeeChat (Wee Enhanced Environment for Chat)
|
||||
|
||||
このマニュアルは WeeChat の内部構造について書かれています:
|
||||
|
||||
* リポジトリ (ソースコード、文書、...)
|
||||
* リポジトリ
|
||||
* コーディングルール
|
||||
* 中核部の内部構造
|
||||
* プラグインの内部構造
|
||||
* WeeChat に貢献する方法
|
||||
|
||||
[[repository]]
|
||||
[[repositories]]
|
||||
== リポジトリ
|
||||
|
||||
WeeChat の主要なリポジトリは 2 つあります:
|
||||
WeeChat リポジトリは GitHub organization の "weechat" にあります:
|
||||
https://github.com/weechat
|
||||
|
||||
* コアリポジトリ: ソースコードと文書が含まれています、
|
||||
URL は: https://github.com/weechat/weechat
|
||||
* スクリプト: weechat.org に投稿された '公式' スクリプト、
|
||||
URL は: https://github.com/weechat/scripts
|
||||
リポジトリのリスト:
|
||||
|
||||
このマニュアルはコアリポジトリの解説です。
|
||||
weechat::
|
||||
ソースコードと文書を含むコアリポジトリ
|
||||
|
||||
scripts::
|
||||
weechat.org に投稿された '公式' スクリプト
|
||||
|
||||
weechat.org::
|
||||
WeeChat ウェブサイトのソースコード: https://weechat.org/
|
||||
|
||||
weercd::
|
||||
IRC テストサーバ
|
||||
|
||||
qweechat::
|
||||
WeeChat の Qt リモート GUI。
|
||||
|
||||
このマニュアルは 'weechat' リポジトリだけを説明しています。
|
||||
|
||||
[[overview]]
|
||||
=== 概要
|
||||
@@ -62,17 +75,17 @@ WeeChat の主要なリポジトリは 2 つあります:
|
||||
| charset/ | charset プラグイン
|
||||
| exec/ | exec プラグイン
|
||||
| fifo/ | fifo プラグイン (WeeChat にコマンドを送信する FIFO パイプ)
|
||||
| irc/ | IRC (Internet Relay Chat) プラグイン
|
||||
| logger/ | logger プラグイン (表示されたメッセージをファイルに書き込む)
|
||||
| relay/ | relay プラグイン (irc プロキシ + リモートインターフェイス用の中継)
|
||||
| script/ | スクリプトマネージャ
|
||||
| python/ | python スクリプト用 API
|
||||
| perl/ | perl スクリプト用 API
|
||||
| ruby/ | ruby スクリプト用 API
|
||||
| lua/ | lua スクリプト用 API
|
||||
| tcl/ | tcl スクリプト用 API
|
||||
| guile/ | guile (scheme) スクリプト用 API
|
||||
| irc/ | IRC (Internet Relay Chat) プラグイン
|
||||
| javascript/ | javascript スクリプト用 API
|
||||
| logger/ | logger プラグイン (表示されたメッセージをファイルに書き込む)
|
||||
| lua/ | lua スクリプト用 API
|
||||
| perl/ | perl スクリプト用 API
|
||||
| python/ | python スクリプト用 API
|
||||
| relay/ | relay プラグイン (irc プロキシ + リモートインターフェイス用の中継)
|
||||
| ruby/ | ruby スクリプト用 API
|
||||
| script/ | スクリプトマネージャ
|
||||
| tcl/ | tcl スクリプト用 API
|
||||
| trigger/ | trigger プラグイン
|
||||
| xfer/ | xfer (IRC DCC ファイル/チャット)
|
||||
| tests/ | テスト
|
||||
@@ -98,7 +111,6 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
|===
|
||||
| パス/ファイル名 | 説明
|
||||
| core/ | コア関数: エントリポイント、内部構造体
|
||||
| weechat.c | 主要関数: コマンドラインオプション、起動
|
||||
| wee-arraylist.c | 配列リスト
|
||||
| wee-backtrace.c | クラッシュした際にバックトレースを表示
|
||||
| wee-command.c | WeeChat コアコマンド
|
||||
@@ -124,6 +136,7 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
| wee-utf8.c | UTF-8 関数
|
||||
| wee-util.c | その他の関数
|
||||
| wee-version.c | WeeChat バージョンについての関数
|
||||
| weechat.c | 主要関数: コマンドラインオプション、起動
|
||||
| gui/ | バッファ、ウィンドウなどの関数 (全てのインターフェイスで利用)
|
||||
| gui-bar-item.c | バー要素
|
||||
| gui-bar-window.c | バーウィンドウ
|
||||
@@ -172,6 +185,8 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
| weechat-plugin.h | WeeChat プラグインと一緒に配布されるヘッダファイル、プラグインのコンパイルに必要
|
||||
| alias/ | alias プラグイン
|
||||
| alias.c | alias の主要関数
|
||||
| alias-command.c | alias コマンド
|
||||
| alias-completion.c | alias 補完
|
||||
| alias-config.c | alias 設定オプション (alias.conf ファイル)
|
||||
| alias-info.c | alias の情報/インフォリスト/hdata
|
||||
| aspell/ | aspell プラグイン
|
||||
@@ -301,20 +316,21 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
|
||||
[width="100%",cols="1v,5",options="header"]
|
||||
|===
|
||||
| パス/ファイル名 | 説明
|
||||
| tests/ | テスト用のルートディレクトリ
|
||||
| tests.cpp | テスト実行に使うプログラム
|
||||
| unit/ | 単体テスト用のルートディレクトリ
|
||||
| core/ | core 向け単体テスト用のルートディレクトリ
|
||||
| test-eval.cpp | テスト: 式の評価
|
||||
| test-hashtble.cpp | テスト: ハッシュテーブル
|
||||
| test-hdata.cpp | テスト: hdata
|
||||
| test-infolist.cpp | テスト: インフォリスト
|
||||
| test-list.cpp | テスト: リスト
|
||||
| test-string.cpp | テスト: 文字列
|
||||
| test-url.cpp | テスト: URL
|
||||
| test-utf8.cpp | テスト: UTF-8
|
||||
| test-util.cpp | テスト: ユーティリティ関数
|
||||
| パス/ファイル名 | 説明
|
||||
| tests/ | テスト用のルートディレクトリ
|
||||
| tests.cpp | テスト実行に使うプログラム
|
||||
| unit/ | 単体テスト用のルートディレクトリ
|
||||
| core/ | core 向け単体テスト用のルートディレクトリ
|
||||
| test-arraylist.cpp | テスト: 配列リスト
|
||||
| test-eval.cpp | テスト: 式の評価
|
||||
| test-hashtble.cpp | テスト: ハッシュテーブル
|
||||
| test-hdata.cpp | テスト: hdata
|
||||
| test-infolist.cpp | テスト: インフォリスト
|
||||
| test-list.cpp | テスト: リスト
|
||||
| test-string.cpp | テスト: 文字列
|
||||
| test-url.cpp | テスト: URL
|
||||
| test-utf8.cpp | テスト: UTF-8
|
||||
| test-util.cpp | テスト: ユーティリティ関数
|
||||
|===
|
||||
|
||||
[[documentation_translations]]
|
||||
@@ -330,16 +346,16 @@ WeeChat "core" は以下のディレクトリに配置されています:
|
||||
| asciidoc.css | asciidoc スタイル
|
||||
| docgen.py | 'autogen/' ディレクトリ内のファイルを作成する Python スクリプト (以下を参照)
|
||||
| XX/ | 言語コード XX (言語コード: en、fr、de、it、...) 用のディレクトリ
|
||||
| cmdline_options.XX.asciidoc | コマンドラインオプション (man ページとユーザガイドに含まれるファイル)
|
||||
| weechat.1.XX.asciidoc | man ページ (`man weechat`)
|
||||
| weechat_quickstart.XX.asciidoc | クイックスタートガイド
|
||||
| weechat_user.XX.asciidoc | ユーザーガイド
|
||||
| weechat_dev.XX.asciidoc | 開発者リファレンス (この文書)
|
||||
| weechat_faq.XX.asciidoc | FAQ
|
||||
| weechat_plugin_api.XX.asciidoc | プラグイン API リファレンス
|
||||
| weechat_quickstart.XX.asciidoc | クイックスタートガイド
|
||||
| weechat_relay_protocol.XX.asciidoc | リレープロトコル (リモートインターフェイス用)
|
||||
| weechat_scripting.XX.asciidoc | スクリプト作成ガイド
|
||||
| weechat_tester.XX.asciidoc | テスターガイド
|
||||
| weechat_dev.XX.asciidoc | 開発者リファレンス (この文書)
|
||||
| weechat_relay_protocol.XX.asciidoc | リレープロトコル (リモートインターフェイス用)
|
||||
| cmdline_options.XX.asciidoc | コマンドラインオプション (man ページとユーザガイドに含まれるファイル)
|
||||
| weechat_user.XX.asciidoc | ユーザーガイド
|
||||
| autogen/ | docgen.py スクリプトが自動生成するファイル
|
||||
| user/ | ユーザーガイド用の自動生成ファイル (手作業による編集は*禁止* !)
|
||||
| plugin_api/ | プラグイン API 用の自動生成ファイル (手作業による編集は*禁止* !)
|
||||
@@ -577,12 +593,13 @@ new_hook_fd = malloc (sizeof (*new_hook_fd));
|
||||
|
||||
[source,lisp]
|
||||
----
|
||||
(add-hook 'c-mode-common-hook '(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4
|
||||
c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
(add-hook 'c-mode-common-hook
|
||||
'(lambda ()
|
||||
(c-toggle-hungry-state t)
|
||||
(c-set-style "k&r")
|
||||
(setq c-basic-offset 4)
|
||||
(c-tab-always-indent t)
|
||||
(c-set-offset 'case-label '+)))
|
||||
----
|
||||
|
||||
[[coding_python_style]]
|
||||
@@ -1033,7 +1050,7 @@ $ msgcheck.py xx.po
|
||||
ファイルを生成するエイリアスを作ってください:
|
||||
|
||||
----
|
||||
/alias doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
/alias add doc /perl unload; /python unload; /ruby unload; /lua unload; /tcl unload; /guile unload; /javascript unload; /python load docgen.py; /wait 1ms /docgen
|
||||
----
|
||||
|
||||
コマンド `/doc` を使って全ての (全てのプログラミング言語について) 自動生成するファイルを作成してください。
|
||||
|
||||
@@ -112,6 +112,18 @@ WeeChat は UTF-8 ロケールを推奨します。ISO 又はその他のロケ
|
||||
*全ての* 設定 (ターミナル、screen、..) が ISO であり、
|
||||
UTF-8 *でない* ことを確認してください。
|
||||
|
||||
[[unicode_chars]]
|
||||
=== ターミナルで表示されるユニコード文字が WeeChat では表示されない場合があります、なぜでしょうか?
|
||||
|
||||
この問題は libc の 'wcwidth' 関数のバグによって引き起こされている可能性があります。これは glibc 2.22
|
||||
で修正されているはずです (使用中のディストリビューションではまだ提供されていないかもしれません)
|
||||
|
||||
次の回避方法を使えば、修正済みの 'wcwidth' 関数を使う事が可能です:
|
||||
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat
|
||||
|
||||
より詳しい情報を得るにはバグ報告をご覧ください:
|
||||
https://github.com/weechat/weechat/issues/79
|
||||
|
||||
[[bars_background]]
|
||||
=== タイトルやステータスバー等の背景色が行末ではなくテキストの最後で終わってしまいます。
|
||||
|
||||
@@ -538,8 +550,8 @@ gnutls ハンドシェイクに関するエラーの場合、Diffie-Hellman キ
|
||||
|
||||
oauth を使うにはパスワードを "oauth:XXXX" のように指定してください。
|
||||
|
||||
以下のコマンドでサーバを作成し、接続することができます
|
||||
(名前とアドレスは適当な値に変更してください):
|
||||
以下のコマンドを使って、この種のサーバを追加し接続することが可能です
|
||||
(サーバ名とアドレスは適切な値を使ってください):
|
||||
|
||||
----
|
||||
/server add name irc.server.org -password=oauth:XXXX
|
||||
|
||||
@@ -761,13 +761,15 @@ int diff = weechat_strcmp_ignore_chars ("a-b", "--a-e", "-", 1); /* == -3 */
|
||||
|
||||
==== strcasestr
|
||||
|
||||
_バージョン 1.3 で更新。_
|
||||
|
||||
ロケールと大文字小文字を区別して文字列を検索。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_strcasestr (const char *string, const char *search);
|
||||
const char *weechat_strcasestr (const char *string, const char *search);
|
||||
----
|
||||
|
||||
引数:
|
||||
@@ -778,12 +780,13 @@ char *weechat_strcasestr (const char *string, const char *search);
|
||||
戻り値:
|
||||
|
||||
* 見つかった文字列へのポインタ、見つからない場合は NULL
|
||||
(_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
|
||||
const char *pos = weechat_strcasestr ("aBcDeF", "de"); /* result: pointer to "DeF" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -921,6 +924,64 @@ free (str);
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
==== string_eval_path_home
|
||||
|
||||
_WeeChat バージョン 0.3.3 以上で利用可。_
|
||||
|
||||
3 段階でパスを評価します:
|
||||
|
||||
. 先頭の `%h` を WeeChat ホームディレクトリで置換し、
|
||||
. 先頭の `~` をユーザのホームディレクトリで置換し
|
||||
(<<_string_expand_home,weechat_string_expand_home>> を実行し)、
|
||||
. 変数を評価します
|
||||
(<<_string_eval_expression,weechat_string_eval_expression>> を参照してください)。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_string_eval_path_home (const char *path,
|
||||
struct t_hashtable *pointers,
|
||||
struct t_hashtable *extra_vars,
|
||||
struct t_hashtable *options);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* 'path': パス
|
||||
* 'pointers': 関数に渡されるハッシュテーブル
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'extra_vars': 関数に渡されるハッシュテーブル
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
* 'options': 関数に渡されるハッシュテーブル
|
||||
<<_string_eval_expression,weechat_string_eval_expression>>
|
||||
|
||||
戻り値:
|
||||
|
||||
* 評価済みのパス (使用後には必ず "free" を呼び出して領域を開放してください)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = weechat_string_expand_home ("%h/test");
|
||||
/* result: "/home/xxx/.weechat/test" */
|
||||
/* ... */
|
||||
free (str);
|
||||
----
|
||||
|
||||
スクリプト (Python) での使用例:
|
||||
|
||||
[source,python]
|
||||
----
|
||||
# プロトタイプ
|
||||
path = weechat.string_eval_path_home(path, pointers, extra_vars, options)
|
||||
|
||||
# 例
|
||||
path = weechat.string_eval_path_home("%h/test", "", "", "")
|
||||
# path == "/home/xxx/.weechat/test"
|
||||
----
|
||||
|
||||
==== string_remove_quotes
|
||||
|
||||
文字列の最初と最後から引用符号を削除
|
||||
@@ -1845,7 +1906,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test"
|
||||
|
||||
==== string_eval_expression
|
||||
|
||||
_WeeChat バージョン 0.4.0 以上で利用可、バージョン 0.4.2 と 1.1 で更新。_
|
||||
_WeeChat バージョン 0.4.0 以上で利用可、バージョン 0.4.2、1.0、1.1、1.2、1.3 で更新。_
|
||||
|
||||
式を評価して文字列として返す。`${variable}`
|
||||
という書式で書かれた特殊変数は展開されます (以下の表を参照)。
|
||||
@@ -1897,13 +1958,20 @@ char *weechat_string_eval_expression (const char *expr,
|
||||
式中で展開される変数のリスト
|
||||
(優先度の高い順、展開順の早いものを上に遅いものを下に):
|
||||
|
||||
[width="100%",cols="2,8,3,3",options="header"]
|
||||
[width="100%",cols="2,8,4,4",options="header"]
|
||||
|===
|
||||
| フォーマット | 説明 | 例 | 結果
|
||||
|
||||
| `${name}` | 'extra_vars' の変数 `name` の値に展開 |
|
||||
`${name}` | `value`
|
||||
|
||||
| `${eval:xxx}` +
|
||||
(_WeeChat バージョン 1.3 以上で利用可_) |
|
||||
評価する文字列 |
|
||||
`${eval:${date:${weechat.look.buffer_time_format}}}` |
|
||||
`19:02:45` (オプション weechat.look.buffer_time_format
|
||||
内に色コードが存在する場合色付き)
|
||||
|
||||
| `${esc:xxx}` +
|
||||
`${\xxx}` | エスケープ文字を含む文字列 |
|
||||
`${esc:prefix\tmessage}` +
|
||||
@@ -1939,6 +2007,16 @@ char *weechat_string_eval_expression (const char *expr,
|
||||
`1.0` +
|
||||
`lightblue`
|
||||
|
||||
| `${date}` +
|
||||
`${date:xxx}` +
|
||||
(_WeeChat バージョン 1.3 以上で利用可_) |
|
||||
現在の日付/時刻、カスタムフォーマットを使うことも可能です (`man strftime` を参照)、
|
||||
デフォルトフォーマットは `%F %T` |
|
||||
`${date}` +
|
||||
`${date:%H:%M:%S}` |
|
||||
`2015-06-30 19:02:45` +
|
||||
`19:02:45`
|
||||
|
||||
| `${env:NAME}` +
|
||||
(_WeeChat バージョン 1.2 以上で利用可_) |
|
||||
Value of the environment variable `NAME` |
|
||||
@@ -2139,13 +2217,16 @@ weechat_utf8_normalize (string, '?');
|
||||
|
||||
==== utf8_prev_char
|
||||
|
||||
_バージョン 1.3 で更新。_
|
||||
|
||||
文字列中の 1 つ前の UTF-8 文字へのポインタを返す。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_prev_char (const char *string_start, const char *string);
|
||||
const char *weechat_utf8_prev_char (const char *string_start,
|
||||
const char *string);
|
||||
----
|
||||
|
||||
引数:
|
||||
@@ -2157,12 +2238,13 @@ char *weechat_utf8_prev_char (const char *string_start, const char *string);
|
||||
戻り値:
|
||||
|
||||
* 1 つ前の UTF-8 文字へのポインタ、見つからなければ (文字列の開始位置に到達した場合は) NULL
|
||||
(_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
const char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2170,13 +2252,15 @@ char *prev_char = weechat_utf8_prev_char (string, ptr_in_string);
|
||||
|
||||
==== utf8_next_char
|
||||
|
||||
_バージョン 1.3 で更新。_
|
||||
|
||||
文字列中の 1 つ後の UTF-8 文字へのポインタを返す。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_next_char (const char *string);
|
||||
const char *weechat_utf8_next_char (const char *string);
|
||||
----
|
||||
|
||||
引数:
|
||||
@@ -2186,12 +2270,13 @@ char *weechat_utf8_next_char (const char *string);
|
||||
戻り値:
|
||||
|
||||
* 1 つ後の UTF-8 文字へのポインタ、見つからなければ (文字列の最後に到達した場合は) NULL
|
||||
(_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *next_char = weechat_utf8_next_char (string);
|
||||
const char *next_char = weechat_utf8_next_char (string);
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2442,13 +2527,15 @@ int length_on_screen = weechat_utf8_char_size_screen ("é"); /* == 1 */
|
||||
|
||||
==== utf8_add_offset
|
||||
|
||||
_バージョン 1.3 で更新。_
|
||||
|
||||
UTF-8 文字列で N 文字前に進む。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
const char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
----
|
||||
|
||||
引数:
|
||||
@@ -2459,13 +2546,14 @@ char *weechat_utf8_add_offset (const char *string, int offset);
|
||||
戻り値:
|
||||
|
||||
* 文字列の N 文字後に進んだ位置へのポインタ (元文字列の最後より後の位置を指す場合は NULL)
|
||||
(_WeeChat バージョン 1.3 以上の場合_: 返されるポインタは 'const char *' であり、 'char *' ではありません)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *str = "chêne";
|
||||
char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
const char *str = "chêne";
|
||||
const char *str2 = weechat_utf8_add_offset (str, 3); /* points to "ne" */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -2873,21 +2961,26 @@ weechat_util_timeval_add (&tv, 2000000); /* add 2 seconds */
|
||||
|
||||
==== util_get_time_string
|
||||
|
||||
_WeeChat バージョン 0.3.2 以上で利用可。_
|
||||
_WeeChat バージョン 0.3.2 以上で利用可、バージョン 1.3 で更新。_
|
||||
|
||||
日付や時間を "strftime" で作った文字列で取得。
|
||||
日付/時刻を "strftime" で作った文字列として取得します。フォーマットは
|
||||
'weechat.look.time_format' で定義されています。
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,C]
|
||||
----
|
||||
char *weechat_util_get_time_string (const time_t *date);
|
||||
const char *weechat_util_get_time_string (const time_t *date);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* 'date': 日付へのポインタ
|
||||
|
||||
戻り値:
|
||||
|
||||
* 日付/時刻文字列へのポインタ
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,C]
|
||||
@@ -7134,6 +7227,8 @@ hook = weechat.hook_timer(20 * 1000, 0, 0, "my_timer_cb", "")
|
||||
|
||||
==== hook_fd
|
||||
|
||||
_バージョン 1.3 で更新。_
|
||||
|
||||
ファイルディスクリプタ (ファイルやソケット) をフック。
|
||||
|
||||
プロトタイプ:
|
||||
@@ -7155,6 +7250,7 @@ struct t_hook *weechat_hook_fd (int fd,
|
||||
* 'flag_read': 1 = 読み込みイベントをキャッチ、0 = 無視
|
||||
* 'flag_write': 1 = 書き込みイベントをキャッチ、0 = 無視
|
||||
* 'flag_exception': 1 = 例外イベントをキャッチ、0 = 無視
|
||||
(_WeeChat バージョン 1.3 以上の場合_: この引数は無視され、使われません)
|
||||
* 'callback': ファイル (またはソケット) に対してキャッチしたいイベントが発生した場合に実行する関数、
|
||||
引数と戻り値:
|
||||
** 'void *data': ポインタ
|
||||
@@ -8387,6 +8483,11 @@ WeeChat とプラグインが送信するシグナルのリスト:
|
||||
String: /quit の引数 |
|
||||
ユーザがコマンド `/quit` を実行
|
||||
|
||||
| weechat | signal_sighup +
|
||||
_(WeeChat バージョン 1.3 以上で利用可)_ |
|
||||
- |
|
||||
SIGHUP シグナルを受信
|
||||
|
||||
| weechat | signal_sigquit +
|
||||
_(WeeChat バージョン 1.2 以上で利用可)_ |
|
||||
- |
|
||||
@@ -12835,23 +12936,36 @@ hashtable_in = weechat_hashtable_new (8,
|
||||
NULL);
|
||||
if (hashtable_in)
|
||||
{
|
||||
weechat_hashtable_set (hashtable_in, "message",
|
||||
":nick!user@host PRIVMSG #weechat :message here");
|
||||
weechat_hashtable_set (
|
||||
hashtable_in,
|
||||
"message",
|
||||
"@time=2015-06-27T16:40:35.000Z :nick!user@host PRIVMSG #weechat :hello!");
|
||||
hashtable_out = weechat_info_get_hashtable ("irc_message_parse",
|
||||
hashtable_in);
|
||||
/*
|
||||
* now hashtable_out has following keys/values:
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments": "#weechat :message here"
|
||||
* "tags" : "time=2015-06-27T16:40:35.000Z"
|
||||
* "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!"
|
||||
* "nick" : "nick"
|
||||
* "host" : "nick!user@host"
|
||||
* "command" : "PRIVMSG"
|
||||
* "channel" : "#weechat"
|
||||
* "arguments" : "#weechat :hello!"
|
||||
* "text" : "hello!"
|
||||
* "pos_command" : "47"
|
||||
* "pos_arguments" : "55"
|
||||
* "pos_channel" : "55"
|
||||
* "pos_text" : "65"
|
||||
*/
|
||||
weechat_hashtable_free (hashtable_in);
|
||||
weechat_hashtable_free (hashtable_out);
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
"irc_message_parse" の出力に関するより詳しい情報を得るには
|
||||
'WeeChat スクリプト作成ガイド' をご覧ください。
|
||||
|
||||
スクリプト (Python) での使用例:
|
||||
|
||||
[source,python]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user