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

Compare commits

...

177 Commits

Author SHA1 Message Date
Sébastien Helleu 9019d031b6 Version 1.3 2015-08-16 08:27:07 +02:00
Sébastien Helleu 1f457ca0a5 core: add note about new option irc.network.channel_encode in release notes 2015-08-16 08:16:31 +02:00
Ondřej Súkup c02baef622 core: update Czech translations 2015-08-16 07:32:51 +02:00
Sébastien Helleu 19739e48f7 doc: update German auto-generated files 2015-08-15 20:11:26 +02:00
Nils Görs 35433bb706 core: update German translations 2015-08-15 19:38:03 +02:00
Sébastien Helleu 667f27b290 irc: update help on option irc.network.channel_encode (issue #218, issue #482)
Remove mention of WeeChat <= 1.2 since the behavior is not exactly the
same as old versions (when the option is enabled): only the
channel/message are decoded/encoded and not the nick/host.
2015-08-15 07:40:26 +02:00
Sébastien Helleu f1b36e5095 Version 1.3-rc2 2015-08-14 21:37:58 +02:00
Sébastien Helleu 15218ed294 irc: add option irc.network.channel_encode (issue #218, issue #482)
This is a workaround (disabled by default) to join and chat on ISO
encoded channels (or another charset different from UTF-8).

This option may be removed in future if a better solution is
implemented.
2015-08-14 21:25:27 +02:00
Sébastien Helleu be3025f569 doc: update Polish auto-generated files 2015-08-14 20:02:56 +02:00
Krzysztof Korościk 46dfe34f70 doc: update polish translation 2015-08-14 18:59:10 +02:00
Krzysztof Korościk c98c5afe00 weechat: polish translation update 2015-08-14 18:00:59 +02:00
Sébastien Helleu a56fec820b python: fix cppcheck error on variable "python2_bin" (closes #486)
This fixes only a wrong error report from cppcheck, there was no problem
in code with the variable "python2_bin".
2015-08-13 20:51:51 +02:00
Sébastien Helleu 4716e81d4e api: add missing function infolist_search_var() in script API (issue #484) 2015-08-13 20:50:15 +02:00
Sébastien Helleu 7033fdd0cb api: add missing function hook_completion_get_string() in script API (issue #484) 2015-08-13 20:45:33 +02:00
Sébastien Helleu 6b75516702 javascript: remove debug prints in log file 2015-08-12 21:03:08 +02:00
Sébastien Helleu be0212bd27 core: add completion "colors" (closes #481) 2015-08-11 22:26:44 +02:00
Sébastien Helleu 6c6667dadd core: fix long lines 2015-08-11 21:23:10 +02:00
Sébastien Helleu ca6854e207 doc: update Japanese auto-generated files 2015-08-10 07:36:43 +02:00
Sébastien Helleu b0f997d1fa Merge pull request #480 from l/translation_ja
core: update Japanese translations
2015-08-10 07:35:37 +02:00
AYANOKOUZI, Ryuunosuke 9b2c1e33f5 core: update Japanese translations 2015-08-10 09:00:00 +09:00
Sébastien Helleu 393434237c core: fix long lines in weechat.c 2015-08-09 07:58:20 +02:00
Sébastien Helleu f0ad26de1c core: update translations 2015-08-08 10:32:48 +02:00
Sébastien Helleu 534227a667 Merge pull request #476 from sim642/alias-example
core: update examples of alias add commands
2015-08-08 10:27:26 +02:00
Nils Görs 0f3abd820a core: update German translations 2015-08-08 10:26:28 +02:00
Nils Görs 05a6d16299 core: update German translations 2015-08-08 10:20:58 +02:00
Nils Görs 0a6035f3c4 core: update German translations 2015-08-08 10:18:56 +02:00
Sébastien Helleu 815a07658d doc: update auto-generated files with hdata 2015-08-08 09:13:25 +02:00
Sébastien Helleu a338f59f5f doc: update German auto-generated files 2015-08-08 09:12:52 +02:00
Nils Görs befd3eb2bf core: update German translations 2015-08-07 17:49:18 +02:00
Sébastien Helleu e1398eae2e core: update ChangeLog (issue #475) 2015-08-07 07:43:15 +02:00
Sébastien Helleu ded3f7b13c core: update translations 2015-08-07 07:42:07 +02:00
Sébastien Helleu cc92883449 Merge remote-tracking branch 'origin/pr/475' 2015-08-07 07:36:50 +02:00
Simmo Saan 5499843905 core: update examples of alias add commands 2015-08-06 18:20:29 +03:00
Sébastien Helleu 6923a9efa0 Version 1.3-rc1 2015-08-06 07:42:02 +02:00
Sébastien Helleu 5aa93fdbb7 irc: fix update of lag item when the server lag changes 2015-08-05 20:51:12 +02:00
Sébastien Helleu 82199f8264 irc: remove lag item when a lag is displayed and new lag computed is exactly 0 milliseconds 2015-08-04 21:25:53 +02:00
Sébastien Helleu 8f26323bdf doc: update German auto-generated files 2015-08-04 07:29:20 +02:00
Nils Görs 5bd13d3df0 core: update German translations 2015-08-03 22:47:08 +02:00
Sébastien Helleu 5d3e485aec core: update options supporting secured data in /help secure 2015-08-03 21:29:17 +02:00
Nils Görs 2ed90965a6 doc: update German documentation 2015-08-03 07:13:32 +02:00
Sébastien Helleu 377fd4a41c doc: update German auto-generated files 2015-08-01 15:41:24 +02:00
Nils Görs 098de9a986 core: update German translations 2015-08-01 15:31:44 +02:00
Sébastien Helleu b8089c72fc core: update last translator in Czech translations 2015-08-01 10:24:08 +02:00
Ondřej Súkup ad697ded83 core: update Czech translations 2015-08-01 10:22:30 +02:00
Sébastien Helleu 55ad527c05 core: add contributor in AUTHORS.asciidoc 2015-07-29 23:01:54 +02:00
Ondřej Súkup 9d9835a50f core: fix typo in Czech translations 2015-07-29 22:58:39 +02:00
Sébastien Helleu 963815b999 doc: update default keys to start/stop search of text in buffer (user's guide) 2015-07-28 07:46:07 +02:00
Sébastien Helleu 784ba4eeb0 core: fix key names in ChangeLog 2015-07-27 07:47:05 +02:00
Sébastien Helleu 315ba5e942 doc: update German auto-generated files 2015-07-26 20:57:38 +02:00
Nils Görs 50dbd203a9 core: update German translations 2015-07-26 20:32:03 +02:00
Sébastien Helleu 9ebe00d144 core: fix typo in ChangeLog 2015-07-26 20:02:36 +02:00
Sébastien Helleu 981beb917e core: fix typo in /help weechat.look.key_grab_delay 2015-07-26 19:59:44 +02:00
Sébastien Helleu 1f2b78242e core: update ChangeLog (closes #76, closes #393) 2015-07-26 19:58:06 +02:00
Sébastien Helleu 8107025c78 core: update translations 2015-07-26 19:55:24 +02:00
Sébastien Helleu 5c5df1b068 core: factorize functions to search text in window 2015-07-26 19:49:35 +02:00
Sébastien Helleu 8e6f525b59 Merge remote-tracking branch 'origin/pr/393' 2015-07-26 11:30:03 +02:00
Sébastien Helleu 74f1592f21 core: add option weechat.look.key_grab_delay to set the default delay when grabbing a key with alt-k 2015-07-26 09:45:40 +02:00
Sébastien Helleu 6ec5d5a148 core: remove obsolete translations 2015-07-26 09:42:42 +02:00
Sébastien Helleu 81a1f9aea8 doc: update Japanese auto-generated files 2015-07-26 09:41:44 +02:00
Sébastien Helleu bcf5974e58 Merge pull request #467 from l/translation_ja
core: update Japanese translations
2015-07-25 19:14:12 +02:00
Sébastien Helleu 7572fec261 core: flush stdout/stderr after sending text directly on them (fix corrupted data sent to hook_process() callback) (closes #442) 2015-07-25 09:16:08 +02:00
Sébastien Helleu b99a630705 core: allow execution of command "/input return" on a buffer which is not displayed in a window 2015-07-25 08:20:18 +02:00
Sébastien Helleu 24c53b4c3f core: move bugs into proper section in ChangeLog 2015-07-25 08:19:04 +02:00
AYANOKOUZI, Ryuunosuke 0159dbc95a core: update Japanese translations 2015-07-25 09:00:00 +09:00
Sébastien Helleu b779e72c50 core: update ChangeLog 2015-07-24 07:30:53 +02:00
Simmo Saan 0ca2197aa6 doc: update default keybinds for "alt-j NN" 2015-07-24 07:28:32 +02:00
Simmo Saan 6e117a1caf core: allow jump from current to previous buffer with default keys "alt-j NN" 2015-07-24 07:27:18 +02:00
Sébastien Helleu 4736a5b320 core: remove useless "return" 2015-07-23 07:35:45 +02:00
Sébastien Helleu fad9806e08 core: fix typo in /help window 2015-07-22 07:52:18 +02:00
Sébastien Helleu 7be168264f core: add command /alias in release notes 2015-07-21 07:01:34 +02:00
Sébastien Helleu 01c2ef63f5 doc: update German auto-generated files 2015-07-20 21:12:36 +02:00
Nils Görs 23c2271ef4 core: update German translations 2015-07-20 20:25:04 +02:00
Simmo Saan 6ef0e5ec1e irc: add separate color option for current topic in channel buffer 2015-07-20 19:02:20 +03:00
Sébastien Helleu b1bd5c721e alias: add options "add", "addcompletion" and "del" in command /alias, remove command /unalias (closes #458) 2015-07-20 07:54:59 +02:00
Sébastien Helleu 31c3151fcc xfer: fix typo in a comment 2015-07-19 09:55:29 +02:00
Sébastien Helleu b98e71a91c aspell: fix typo in a comment 2015-07-19 09:55:19 +02:00
Sébastien Helleu cddbe6fe33 core: replace "closes #" by "issue #" in ChangeLog 2015-07-18 20:06:10 +02:00
Sébastien Helleu 3b2ee85b04 core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (closes #465)
The calls to select() are replaced by poll(), which doesn't have limitation
on file descriptor number.
2015-07-18 20:03:34 +02:00
Sébastien Helleu 23983b125a xfer: fix crash if the DCC file socket number is too high (issue #465) 2015-07-18 19:54:59 +02:00
Sébastien Helleu 4da1472bc8 irc: fix format of comment 2015-07-17 19:47:04 +02:00
Sébastien Helleu 86886e311a core: fix format of comment 2015-07-17 19:46:53 +02:00
Sébastien Helleu e29cb9a85a core: fix comment in function hook_find_pos 2015-07-16 20:51:23 +02:00
Sébastien Helleu 80872061c2 core: add variables with count of hooks 2015-07-15 23:55:00 +02:00
Nils Görs e9c6381774 core: update German translations 2015-07-14 14:20:56 +02:00
Sébastien Helleu 00685bedd5 core: reset pointers, file descriptors and child PIDs in unhook() 2015-07-14 11:01:52 +02:00
Sébastien Helleu a02743b229 core: add option weechat.look.confirm_upgrade (closes #463) 2015-07-14 07:58:21 +02:00
Sébastien Helleu 3fb322be8f doc: update Japanese auto-generated files 2015-07-13 21:34:19 +02:00
Sébastien Helleu 17fe9e3589 Merge pull request #464 from l/translation_ja
core: update Japanese translations
2015-07-13 21:31:29 +02:00
AYANOKOUZI, Ryuunosuke 22c7673b71 core: update Japanese translations 2015-07-13 23:35:19 +09:00
Nils Görs 5e95550f14 doc: update German documentation 2015-07-12 17:27:00 +02:00
Sébastien Helleu 719db054fa doc: add Cygwin packages in user's guide 2015-07-12 17:10:52 +02:00
Sébastien Helleu 219f406d3c core: remove obsolete translations 2015-07-11 21:43:31 +02:00
Sébastien Helleu 14496c41a3 irc: evaluate content of server option "nicks" 2015-07-10 20:10:22 +02:00
Nils Görs 653a392d9a core: update German translations 2015-07-10 14:50:56 +02:00
Sébastien Helleu cc774d099b irc: do not allow command /query with a channel name (closes #459) 2015-07-09 20:35:27 +02:00
Sébastien Helleu b2f0cc30ff core: fix type of value returned by function gui_bar_window_content_get 2015-07-05 08:32:43 +02:00
Sébastien Helleu eb080261f8 logger: fix type of value returned by function logger_tail_last_eol 2015-07-04 16:40:10 +02:00
Sébastien Helleu 0fb8ac9e7b core: fix type of value returned by function gui_mouse_grab_event2input 2015-07-04 16:38:26 +02:00
Sébastien Helleu df66b2e6fe irc: fix type of value returned by function irc_buffer_build_name 2015-07-04 16:36:42 +02:00
Sébastien Helleu 0c79b2fda8 core: fix type of value returned by functions gui_chat_string_next_char, gui_chat_string_add_offset and gui_chat_string_add_offset_screen 2015-07-04 16:32:18 +02:00
Sébastien Helleu 23fd23fd1a api: fix type of value returned by function util_get_time_string 2015-07-04 16:23:04 +02:00
Sébastien Helleu e8615c1691 doc: update functions strcasestr, utf8_prev_char, utf8_next_char and utf8_add_offset in plugin API reference 2015-07-04 16:08:15 +02:00
Sébastien Helleu 4ecd8a505f api: fix type of value returned by functions utf8_prev_char, utf8_next_char and utf8_add_offset 2015-07-04 08:39:55 +02:00
Sébastien Helleu bd850398e8 core: add missing comments before functions when the result must be freed after use 2015-07-04 08:24:53 +02:00
Sébastien Helleu 0770b95266 alias: remove unused function alias_get_final_command() 2015-07-04 08:16:05 +02:00
Sébastien Helleu b13db0305d api: fix type of value returned by function strcasestr 2015-07-03 19:45:51 +02:00
Sébastien Helleu 3e0ebc82a9 doc: update German auto-generated files 2015-07-01 07:41:08 +02:00
Nils Görs f534663d07 core: update German translations 2015-06-30 22:03:15 +02:00
Sébastien Helleu 9bf40517d3 api: add support of evaluated sub-strings and current date/time in function string_eval_expression() and command /eval 2015-06-30 20:25:35 +02:00
Sébastien Helleu e92a63427f doc: add question about unicode chars and libc (wcwidth) in FAQ 2015-06-29 22:33:41 +02:00
Sébastien Helleu 7fabe8c2a2 core: allow ctrl-C to exit WeeChat when the passphrase is asked on startup (closes #452) 2015-06-28 09:16:24 +02:00
Sébastien Helleu d9acb2b97a doc: remove tag "translation missing" in French man page 2015-06-28 08:37:28 +02:00
Sébastien Helleu a3bde46d48 core: move ChangeLog entry in bugs section 2015-06-27 20:12:02 +02:00
Sébastien Helleu ecc3a2aeb6 core: fix display of invalid UTF-8 chars in bars (issue #218) 2015-06-27 17:31:30 +02:00
Sébastien Helleu 0ff8d7b543 irc: decode/encode only text in IRC messages and not the headers (bug #29886, closes #218, closes #451) 2015-06-27 17:00:53 +02:00
Sébastien Helleu fdd9c03e5a xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388) 2015-06-27 08:11:28 +02:00
Sébastien Helleu 9e56308a4d doc: update German auto-generated files 2015-06-27 07:43:16 +02:00
Nils Görs edbcc10105 core: update German translations 2015-06-26 23:27:35 +02:00
Sébastien Helleu fddd7d53a7 script: call function string_eval_path_home() to evaluate scripts path 2015-06-26 07:41:47 +02:00
Sébastien Helleu efdbd1ea13 logger: call function string_eval_path_home() to evaluate logger file path 2015-06-25 07:40:13 +02:00
Sébastien Helleu 52437427af doc: update examples for functon string_eval_path_home() in plugin API reference 2015-06-24 07:58:23 +02:00
Sébastien Helleu 2bd2d74a07 api: add function string_eval_path_home() 2015-06-24 07:54:42 +02:00
Sébastien Helleu 6668b9869b core: fix help of /eval command 2015-06-23 21:30:58 +02:00
Sébastien Helleu a79c0fcff3 core: allow pointer as list name in evaluation of hdata (closes #450) 2015-06-23 20:55:52 +02:00
Sébastien Helleu 43f471b9c2 doc: update Japanese auto-generated files 2015-06-22 20:49:18 +02:00
Sébastien Helleu 7cc452402d Merge remote-tracking branch 'origin/pr/447' 2015-06-22 20:48:06 +02:00
Sébastien Helleu 422958337b core: fix bar item "scroll" after /buffer clear (closes #448) 2015-06-22 20:09:52 +02:00
AYANOKOUZI, Ryuunosuke c9f816435c core: update Japanese translations 2015-06-21 22:59:11 +09:00
Sébastien Helleu 07cbc3bd2e script: rename option script.scripts.dir to script.scripts.path (issue #388) 2015-06-21 07:40:18 +02:00
Sébastien Helleu 33a4b4b1fc logger: evaluate content of option logger.file.path (issue #388) 2015-06-20 08:08:24 +02:00
Sébastien Helleu 292830b5bf script: evaluate content of option script.scripts.dir (issue #388) 2015-06-19 21:12:47 +02:00
Sébastien Helleu acb03201b4 core: exclude directory tests/ubuntu/ from tarballs 2015-06-18 21:12:38 +02:00
Sébastien Helleu 7c1b7df2cf irc: fix crash with commands /allchan, /allpv and /allserv if the executed command closes buffers (closes #445) 2015-06-16 20:28:50 +02:00
Sébastien Helleu 5bac79c4f1 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.
2015-06-15 20:41:49 +02:00
Sébastien Helleu 9e0fa27525 tests: add package libcpputest-dev for ubuntu/precise (Travis CI) 2015-06-14 14:32:22 +02:00
Sébastien Helleu 60ec9d5d51 core: fix display of time in bare display when option weechat.look.buffer_time_format is set to empty string (closes #441)
This reverts commit 2498ff63db.
2015-06-14 14:11:15 +02:00
Sébastien Helleu c8ac7e3791 core: replace HTTPS by HTTP for the download of libcpputest (Travis CI)
With HTTPS, it often fails with no reason
(error: "curl: (28) SSL connection timeout").
2015-06-14 09:11:28 +02:00
Maciek Gajewski 96c71aa0c4 core: fix typo in Polish translation 2015-06-14 08:39:11 +02:00
Nils Görs 70cbc1b340 core: update German translations 2015-06-13 22:58:11 +02:00
Sébastien Helleu c8ca7e1ac2 core: update ChangeLog 2015-06-13 07:42:55 +02:00
Sébastien Helleu c4d95bc1e2 core: update translations 2015-06-13 07:42:30 +02:00
Sébastien Helleu e5d9e977e4 relay: add a variable to read only one time the HTTP header "X-Real-IP" in the hashtable 2015-06-13 07:39:21 +02:00
Sébastien Helleu 424bff4d6c Merge remote-tracking branch 'origin/pr/440' 2015-06-13 07:30:32 +02:00
Sébastien Helleu 7a769648e8 core: fix package name in comment (FindCppUTest.cmake) 2015-06-12 07:47:53 +02:00
Sébastien Helleu 68b45a8216 core: fix package name in comment (FindV8.cmake) 2015-06-11 22:52:28 +02:00
Tor Hveem fc8f7b49dd relay: print value of HTTP Header X-Real-IP
When relay plugin gets a new successfull handshake for a relay
connection using websocket it will look for HTTP header X-Real-IP which
is commonly used when proxying connections. This allows users of WeeChat
and proxy to see the client's real IP address instead of the address of
the HTTP proxy.
2015-06-11 16:50:19 +02:00
Sébastien Helleu 515e8b7b1a ruby: add detection of Ruby 2.2 2015-06-10 23:17:19 +02:00
Sébastien Helleu bce7a6d434 doc: update German auto-generated files 2015-06-10 21:59:24 +02:00
Nils Görs e919aca3dd doc: update German translations 2015-06-10 17:40:34 +02:00
Sébastien Helleu f026ba5160 doc: update Japanese auto-generated files 2015-06-09 21:02:29 +02:00
Sébastien Helleu b5c028b93e Merge pull request #439 from l/translation_ja
core: update Japanese translations
2015-06-09 21:00:11 +02:00
AYANOKOUZI, Ryuunosuke 14c5bc386f core: update Japanese translations 2015-06-09 22:32:48 +09:00
Sébastien Helleu 799b0caaf2 fifo: ignore error ECOMM only on Cygwin (fix compilaton on FreeBSD) 2015-06-07 19:26:17 +02:00
Sébastien Helleu f21adaa6ab fifo: fix send error on Cygwin when something is received in the pipe (closes #436) 2015-06-07 19:17:49 +02:00
Sébastien Helleu 00abc2bde5 core: add signal "signal_sighup" 2015-06-06 14:48:03 +02:00
Sébastien Helleu 160cbdb46a core: reword ChangeLog entry 2015-06-06 10:05:17 +02:00
Sébastien Helleu 57a2a872a5 core: update ChangeLog (closes #425, closes #426) 2015-06-06 10:02:30 +02:00
Sébastien Helleu dff39136a3 Merge remote-tracking branch 'origin/pr/426' 2015-06-06 09:57:05 +02:00
Sébastien Helleu 7c6c450662 core: replace "create" by "add" in messages and docs for IRC servers and proxies 2015-06-04 22:00:10 +02:00
Sébastien Helleu c540db0b4f core: update ChangeLog 2015-05-22 20:15:09 +02:00
Sébastien Helleu 7a87a426c8 Merge remote-tracking branch 'origin/pr/419' 2015-05-22 20:13:30 +02:00
Sébastien Helleu 222fb8290b Merge pull request #424 from l/translation_ja
core: update Japanese translations
2015-05-19 07:41:01 +02:00
Sébastien Helleu e2c1f83c7f core: sync debian files with debian git repository 2015-05-18 20:10:43 +02:00
Simmo Saan 8d1d2c0321 xfer: correctly use and parse \r\n line endings in CHAT (closes #425) 2015-05-18 19:21:03 +03:00
AYANOKOUZI, Ryuunosuke 8feb4c1c3b core: update Japanese translations 2015-05-18 01:34:03 +09:00
Sébastien Helleu 3262599413 core: make cpputest optional in cmake compilation
With this fix, WeeChat can be built without tests (if cpputest is not found),
without having to explicitely disable tests ("-DENABLE_TESTS=OFF").
2015-05-17 14:58:10 +02:00
Sébastien Helleu 81e037b1ce lua: add detection of Lua 5.3 2015-05-17 14:25:44 +02:00
Sébastien Helleu 486ed2b0da core: remove use of PREFIX in main CMakeLists.txt 2015-05-17 08:57:08 +02:00
Sébastien Helleu d9ce6cdbef doc: replace PREFIX with CMAKE_INSTALL_PREFIX in list of cmake options (user's guide) 2015-05-17 08:55:46 +02:00
Sébastien Helleu 1396e9b0ef doc: replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions (closes #354) 2015-05-17 08:48:54 +02:00
Sébastien Helleu 1fb3e8b2dc doc: sort directories and files, reformat emacs lisp example in developer's guide 2015-05-17 07:48:21 +02:00
Sébastien Helleu fd3b3d6711 doc: update list of repositories in developer's guide 2015-05-17 07:46:54 +02:00
Sébastien Helleu 4b5bc0ac8d doc: add missing file test-arraylist.cpp in developer's guide 2015-05-15 22:17:59 +02:00
Sébastien Helleu 28fccd3f12 doc: add relay in list of main features (user's guide) 2015-05-13 20:46:09 +02:00
Sébastien Helleu 5918943192 Version 1.3-dev 2015-05-10 10:04:03 +02:00
Max Teufel 84e55e9fac irc: avoid warnings for unsupported WHOX messages
Fixes #376. This avoids warnings for WHOX messages that we do not parse/
understand yet. Previously, IRC_PROTOCOL_MIN_ARGS was 5 where it should
have been 4 (which avoids warnings for WHOX commands only requesting one
WHOX type). Changing the behavior to support all different WHOX types
seems like a bad idea to me, as it's quite hard to figure out which
information was requested with the WHOX command.
2015-05-04 18:01:36 +02:00
Simmo Saan b87c52240b core: add more intuitive buffer searching (closes #76) 2015-04-12 10:25:09 +03:00
238 changed files with 7641 additions and 3727 deletions
+1
View File
@@ -4,3 +4,4 @@
debian export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tests/ubuntu/ export-ignore
+1 -2
View File
@@ -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:
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
----
+43
View File
@@ -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:
+4 -4
View File
@@ -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
View File
@@ -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()
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+19
View File
@@ -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
+1 -1
View File
@@ -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
-3
View File
@@ -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
+2
View File
@@ -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
+19 -16
View File
@@ -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
----
+2 -2
View File
@@ -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
+11 -1
View File
@@ -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: `""`)
+1 -1
View File
@@ -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/"`)
+5 -5
View File
@@ -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
+38 -32
View File
@@ -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
+2 -2
View File
@@ -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: `"~"`)
+16 -3
View File
@@ -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
+77 -7
View File
@@ -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]]
+1 -1
View File
@@ -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
----
+27 -13
View File
@@ -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
+2
View File
@@ -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
+16 -13
View File
@@ -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
----
+4 -4
View File
@@ -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
+12 -2
View File
@@ -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: `""`)
+1 -1
View File
@@ -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/"`)
+5 -5
View File
@@ -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
+24 -18
View File
@@ -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
+2 -2
View File
@@ -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: `"~"`)
+65 -48
View File
@@ -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.
+13 -1
View File
@@ -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):
----
+135 -21
View File
@@ -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]
+2 -2
View File
@@ -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:
+75 -6
View File
@@ -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]]
+1 -1
View File
@@ -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
----
+24 -9
View File
@@ -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
+3 -2
View File
@@ -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
+2
View File
@@ -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
+16 -13
View File
@@ -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
----
+4 -4
View File
@@ -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
+12 -2
View File
@@ -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: `""`)
+1 -1
View File
@@ -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/"`)
+5 -5
View File
@@ -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
+24 -18
View File
@@ -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
+2 -2
View File
@@ -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: `"~"`)
-1
View File
@@ -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.
+62 -45
View File
@@ -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 demarrage
| weechat_user.XX.asciidoc | Guide utilisateur
| weechat_dev.XX.asciidoc | Guide duveloppeur (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
+14 -1
View File
@@ -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) :
----
+139 -21
View File
@@ -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]
+2 -2
View File
@@ -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 :
+76 -6
View File
@@ -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]]
+1 -1
View File
@@ -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
----
+25 -9
View File
@@ -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
+2
View File
@@ -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
+16 -13
View File
@@ -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
----
+4 -4
View File
@@ -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
+12 -2
View File
@@ -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: `""`)
+1 -1
View File
@@ -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/"`)
+5 -5
View File
@@ -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
+39 -33
View File
@@ -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
+2 -2
View File
@@ -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: `"~"`)
+14 -1
View File
@@ -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):
----
+155 -21
View File
@@ -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]
+3 -2
View File
@@ -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:
+76 -6
View File
@@ -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]]
+1 -1
View File
@@ -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
----
+34 -8
View File
@@ -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 | 設定ファイル
+2
View File
@@ -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": メッセージの数
+17 -14
View File
@@ -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
----
+4 -4
View File
@@ -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: サーバを複製
+14 -4
View File
@@ -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 を参照してください)`
** タイプ: 文字列
** 値: 未制約文字列 (デフォルト値: `""`)
+1 -1
View File
@@ -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/"`)
+5 -5
View File
@@ -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 を参照`
** タイプ: 文字列
+26 -20
View File
@@ -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: 開けられたウィンドウのリストアップ (引数無しの場合、このリストが表示されます)
+12 -2
View File
@@ -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*
** 説明: `マウスサポートの有効化`
** タイプ: ブール
+2 -2
View File
@@ -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 参照)`
** タイプ: 文字列
** 値: 未制約文字列 (デフォルト値: `"~"`)
+61 -44
View File
@@ -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` を使って全ての (全てのプログラミング言語について) 自動生成するファイルを作成してください。
+14 -2
View File
@@ -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
+135 -21
View File
@@ -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